Giter VIP home page Giter VIP logo

iri's Introduction

IOTA

This is the main branch of the main IRI repository, as this is a IOTA reference implementation that is utilized specifically for what we have setup. It is a complete [IOTA] Node with a JSON-REST HTTP interface.

It allows to connect easily using java directly to a local or a remote [IOTA node].

  • Latest release: 1.4.1 Release
  • License: GPLv3

How to get started

Obviously, because this is its own, independent network, you have to go through the same process as in the main network: find neighbors. You can find neighbors in the #nodesharing Slack channel[Slack Invite], or on our forum. Community members are usually very happy to help you out and get you connected. If you want to get tokens for your testcase, please just ask in one of the communication channels as well.

Reporting Issues

If you notice any issues or irregularities in this release. Please make sure to submit an issue on github.

Installing

You have two options, the preferred option is that you compile yourself. The second option is that you utilize the provided jar, which is released regularly (when new updates occur) here: Github Releases.

Compiling yourself

Make sure to have Maven and Java 8 installed on your computer.

To compile & package

$ git clone https://github.com/iotaledger/iri
$ cd iri
$ mvn clean compile
$ mvn package

This will create a target directory in which you will find the executable jar file that you can use for the

How to run IRI

Locally

Running IRI is pretty simple, and you don't even have to run it under admin rights. Below is a list of command line options. Here is an example script:

java -jar iri.jar -p 14265

Docker

Create an iota.ini file with all of your configuration variables set in it. Any that you don't provide in here will be assumed to be default or taken from command line arguments.

docker run -d --net=host --name iota-node -p 14265:14265 -p 14777:14777/udp -p 15777:15777 -v iota.ini:/iri/iota.ini iotaledger/iri:latest

Command Line Options

Option Shortened version Description Example Input
--port -p This is a mandatory option that defines the port to be used to send API commands to your node -p 14800
--neighbors -n Neighbors that you are connected with will be added via this option. -n "udp://148.148.148.148:14265 udp://[2001:db8:a0b:12f0::1]:14265"
--config -c Config INI file that can be used instead of CLI options. See more below -c iri.ini
--udp-receiver-port -u UDP receiver port -u 14800
--tcp-receiver-port -t TCP receiver port -t 14800
--testnet Makes it possible to run IRI with the IOTA testnet --testnet
--remote Remotely access your node and send API commands --remote
--remote-auth Require authentication password for accessing remotely. Requires a correct username:hashedpassword combination --remote-auth iotatoken:LL9EZFNCHZCMLJLVUBCKJSWKFEXNYRHHMYS9XQLUZRDEKUUDOCMBMRBWJEMEDDXSDPHIGQULENCRVEYMO
--remote-limit-api   Exclude certain API calls from being able to be accessed remotely --remote-limit-api "attachToTangle, addNeighbors"
--send-limit   Limit the outbound bandwidth consumption. Limit is set to mbit/s --send-limit 1.0
--max-peers     Limit the number of max accepted peers. Default is set to 0 (mutual tethering) --max-peers 8

INI File

You can also provide an ini file to store all of your command line options and easily update (especially neighbors) if needed. You can enable it via the --config flag. Here is an example INI file:

[IRI]
PORT = 14700
UDP_RECEIVER_PORT = 14700
NEIGHBORS = udp://my.favorite.com:15600
IXI_DIR = ixi
HEADLESS = true
DEBUG = true
DB_PATH = db

iri's People

Contributors

adriantombu avatar adrianziser avatar alfredch avatar aliasaila avatar alon-e avatar bluedigits avatar davassi avatar eukaryote31 avatar mark-bradshaw avatar nur-azhar avatar paulhandy avatar pinpong avatar rajivshah3 avatar sbialy avatar th0br0 avatar viossat avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.