The OriginTrail Decentralized Network was designed for scalability and enables anyone to run a node. You can find all the resources and instructions for the node setup here. The testnet enables you to get familiar with the technology before you run a node on the main network (mainnet).
The recommended minimum specifications are 1CPU, 2GB RAM with at least 10GB storage space.
Before setting up a node, you must own a valid Ethereum wallet with at least 1000 ATRAC tokens and at least 0.05 Ethers. If you don’t have Ethers or ATRACs, you can go and fetch some at the https://faucet.rinkeby.io for test Ethers and https://origintrail.io/faucet for ATRAC tokens.
It is required to have a public IP address, domain name or open network communication with internet. If behind NAT please manually setup port forwarding to all the node’s ports.
The host machine needs to have Docker installed to be able to run the Docker commands specified below. You can find instructions on how to install Docker here:
It is strongly suggested to use the latest official version.
By default Docker container will use 8900, 5278 and 3000 ports. These can be mapped differently in Docker container initialization command. Make sure they’re not blocked by firewall and open to the public. Please note: port 8900 is used for REST access which is not available until OT node is fully started. This can be concluded after following log message is displayed.
info - OT Node started
To properly configure the node you will need to create a config file in JSON format and provide some basic information about how the node should work. This file will then be passed to the Docker container.
Let’s create the file .origintrail_noderc and store all the information about what kind of configuration we want to set up. The bare minimum of settings that needs to be provided is a valid Ethereum wallet and public address or domain name.
We create the .origintrail_noderc file with following content:
"node_wallet": "your wallet address here",
"node_private_key": "your wallet's private key here",
"hostname": "your external IP or domain name here",
"remoteWhitelist": [ "IP or host of the machine that is requesting the import", "127.0.0.1"]
node_wallet and node_private_key - Ethereum wallet address and its private key.
Hostname is the public network address or hostname that will be used in P2P communication with other nodes for node’s self identification.
remoteWhitelist - list of IPs or hosts of the machines (“host.domain.com”) that are allowed to communicate with REST API.
Everything is prepared for the Docker to create and run a container. Let’s just point Docker to the right image and configuration file with the following command:
sudo docker run -i --name=otnode -p 8900:8900 -p 5278:5278 -p 3000:3000 -v ~/.origintrail_noderc:/ot-node/.origintrail_noderc origintrail/ot-node
NOTE: In this example, our configuration file .origintrail_noderc is placed into the home folder of the current user (ie. /home/ubuntu).
To check if it is running in Terminal, run the following command: docker ps
This command will show if your node is running.
1 - docker start otnode - This command will start your node as a background process.
2 - docker start -i otnode - This command will start your node in interactive mode and you will see the node’s process written in the terminal, but this command will not run your node as a background process, which means your node will stop if you close your Terminal/Console.
Note: By using this command, you will be able to see your Houston password in the terminal.
You can stop your node in the following two ways:
1 - If you started your node with the docker start otnode command and you wish to stop it from running, use the following command in your terminal: docker stop otnode
2 - If you started your node by using the docker start -i otnode command, you can stop it either by closing the Terminal or simply by pressing the ctrl + c.
If you prefer to manually install each piece of software needed to run an ODN node, you can find detailed instructions in our technical documentation OriginTrail Documentation