DKG Node installation instructions:
After acquiring TRAC and OTP tokens, teleporting TRAC to the OriginTrail Parachain network and mapping your wallets as per instructions provided above, you have all the pieces ready for the OriginTrail node installation process.
Currently the node can be run as a system process (Step 1). Follow the Discord channel announcements for availability of the Docker installation as well as cloud marketplace simple installers (such as the 1-click installer on DigitalOcean).
Installation process will require the interaction with the installation script so please make sure that you have your wallet’s public and private keys ready.
cd /root/ && curl -k -o installer.sh https://raw.githubusercontent.com/OriginTrail/ot-node/v6/develop/installer/installer.sh && chmod +x installer.sh
OriginTrail node needs the following ports allowed in order to properly operate
- 8900 (your node API)
- 9000 (networking port for communication with other nodes)
The below provided installer script (installer.sh) will automatically enable UFW and open ports 22 (ssh), 8900 and 9000. If you're setting up the OriginTrail node in a cloud environment, please keep in mind that different cloud providers use different security practices when it comes to configuring firewalls on the servers. Make sure that enabling UFW will not cause any networking issues on your server or disable it upon installation is completed if you wish to configure firewall differently.
The provided installer script is designed for installing the OriginTrail node on Ubuntu 20.04 LTS and 22.04 LTS distributions. It is also possible to install the OriginTrail node on other systems but it would require modifications to the installer script. If you have any such modifications in mind, we highly encourage your contributions so please visit our GitHub for more information.
Note: During the installation you will be asked if you wish to setup your node to run on Testnet or Mainnet environment.
If your installation has been successful, your node will show the “Node is up and running!” log as shown in the example image below:
Example of a successfully installed node
Once the OriginTrail node starts, several blockchain transactions need to be executed for your node to become an active part of the network and start hosting the DKG Knowledge assets. These transactions are needed to set the required TRAC stake for your node (50 000 TRAC at this time) and set the node service ask. Both values are set in TRAC tokens.
50000 TRAC is the minimum amount of TRAC on the OriginTrail DKG Mainnet for your node to become eligble for DKG hosting and rewards. More information is available in the following OriginTrail OT-RFC-14.
You can set the node stake and ask settings in two ways. The first option is to use the Houston application and the second is to do it by running a few npm scripts directly on the server where your nodes is installed.
More information on Houston can be found here Setting your node service ask Navigate to the "Service tokenomics" page within the Houston application, enter the service ask amount, denominated in TRAC and click "Update ask" button. This will trigger the transaction signing process with Metamask.
Node service ask setting interface
Staking TRAC to your node
Navigate to the "Service tokenomics" section within Houston application, enter the stake amount in TRAC and click "Add stake" button. This will again trigger the transaction signing process with Metamask, this time requiring two transactions to complete the process of TRAC staking to your node.
Node stake settings interface
Startting your node: otnode-start
Stopping the node: otnode-stop
Restarting the node: otnode-restart
Showing node logs: otnode-logs
Openning the node config: otnode-config
It is possible to use npm scripts to setup both node stake and service ask directly from the server where your node was installed, however this process requires you to provide your node admin wallet key on the script. We don't recommend using this process for obvious security implications. It is however practical in setting up nodes in development environments (see also Development environment setup).
Setting TRAC stake for your node:
Please make sure that you replace the public and private key values accordingly as well as the stake value before execution.
npm run set-stake -- --rpcEndpoint=https://astrosat-parachain-rpc.origin-trail.network/ --stake=50000 --operationalWalletPrivateKey=0x92962c43dd7cb66d9d37c174388558eb57a722d33f65f91398a5a2714c36fdc4 --managementWalletPrivateKey=0x6f9a4cd2714f8a56950ad96742d2e6efcd0319a259a47cf56775c6d63e731e67 --hubContractAddress=0x5fA7916c48Fe6D5F1738d12Ad234b78c90B4cAdA
Set your node ask using the set-ask npm script:
This script should be run from the ot-node directory.
Note: Use the operational private key for "--private-key" parameter in set-ask script
If you have come this far and your node logs are not showing any errors, you're node is successfully set up!
Over the course of time your node will provide different services to the DKG users as part of the DKG Service market (e.g. your node will receive requests from the network, such as requests to index assets or fetch their state). To be able to provide these services, your node needs to maintain assets (and their associated assertions) in their original form and occasionally provide proofs of utility to the blockchain. Therefore it is essential that you keep your node running with as high uptime as possible so it is able to answer requests and perform its activities. More details on the functioning of the service market and tokenomics behind it can be found in OT-RFC-14.
It is essential that you familiarise yourself with the tokenomics of v6 and the services your node will be performing. A good understanding will be crucial for you to set up your node tokenomics settings in a way that you find optimal for your node. The OriginTrail V6 service market is an open market and requires all OriginTrail Nodes to provide a public “service ask” amount in TRAC.
The OriginTrail V6 node also needs to maintain a constant connection to the blockchains it operates with via dedicated blockchain RPC endpoints (it supports multiple RPC endpoints for one blockchain, which allows for resiliency in case of RPC downtime).