Set up a Node on the Testnet.

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). By setting up the OriginTrail node you agree to the terms and conditions of using the ODN as posted here.


Please note that all of the following requirements shall be met in order for You to be able to set up a node on the OriginTrail Testnet.


Hardware Recommendation

The recommended minimum specifications are 1CPU, 2GB RAM with at least 10GB storage space.


Ethereum Wallet

Before setting up a node, you must own a valid Ethereum wallet with at least 1000 ATRAC tokens and at least 0.05 test Ethers. If you don’t have test Ethers or ATRACs, you can go and fetch some at the for test Ethers and for ATRAC tokens.


Public IP or Open Communication

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.


Docker Installed

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.


Open Ports

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.

Configuring the node

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 the following content:


"node_wallet": "your wallet address here",

"node_private_key": "your wallet's private key here",

"management_wallet": "your management wallet public key here",

"network": {

"hostname": "your external IP or domain name here",

"remoteWhitelist": [ "IP or host of the machine that is requesting the import", ""]


"blockchain": {

"rpc_server_url": "url to your RPC server i.e. Infura or own Geth"



  • node_wallet and node_private_key - Node operational Ethereum wallet address and its private key.
  • management_wallet - Node Ethereum management wallet address
  • 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 (“”) that are allowed to communicate with REST API.
  • rpc_server_url - an URL to RPC host server, usually Infura or own hosted Geth server. For more check our documentation

You can find more detailed wallets explanation here.

(DISCLAIMER: Your private key is needed for the node operational wallet to be able to sign transactions to the blockchain. The node management wallet takes care of your rewards and its private key is not stored on the node. The operational wallet private key is not in any way sent to the OriginTrail team or stored in any other location, other than this config file and locations you decide to keep it. Please, be aware that you are required to keep all your keys and node safe, and that the OriginTrail team does not have any ability to help you recover the private key if lost).

Running a Docker container

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:

Latest version (v4 - Freedom-Gemini)

sudo docker run -i --log-driver json-file --log-opt max-size=1g --name=otnode -p 8900:8900 -p 5278:5278 -p 3000:3000 -v ~/.origintrail_noderc:/ot-node/.origintrail_noderc

NOTE: in this example, our configuration file .origintrail_noderc is placed in to the home folder of the current user (ie. /home/ubuntu).

OT Node Status

To check if your node is running in Terminal, run the following command: docker ps node-check-img

Starting OT Node


docker start otnode

This command will start your node as a background process.


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.

Stopping OT Node


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

This command will start your node as a background process.


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.

Manually Install Testnet Node via Terminal

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.


Step 2 (Optional) -
 Install the Houston App - The User Interface for Your Node

Houston is a visual user interface that makes operating a node easy for everyone.

Houston app is available on our GitHub at the following link: