Introduction
GHOST Chain consists of 3 types of nodes:
- Boot Node – a type of node that other nodes can connect to in order to verify their legitimacy
- Validator Node – a type of node that has $GHST Staking Capability
- Archival Node – a type of node that will store the archive of the GHOST Chain ledger
Boot Nodes act as a form of security layer for the network. If a Validator Node wants to join the GHOST Chain network it can only do so if the Node Operator is given the needed key to be verified by a Boot Node. After the verification is complete, the Validator Node can begin validating transactions along other Validator Nodes. The network can have multiple Boot Nodes therefore multiple points of entry.
In this guide we will be testing connectivity between your node and the GHOST Chain Boot Node. The idea is for the GHOST team to make sure that existing Boot Nodes can be connected from any part of the world. We will also test the ability for your node to be a Boot Node for other Validator Nodes.
By now you should have followed the instructions outlined in the GHOST Chain Startup Guide.
1. Testing Connectivity
Go to Whales group and request a GHOST Node Launch Command.
Login to your machine, open the terminal and run GHOST Node Launch Command to run Bob
Validator Node, the command will look something like this:
./ghost/ghost-node/target/release/ghost --port=30334 --rpc-port=3001 --chain=spec.json --node-key=0000000000000000000000000000000000000000000000000000000000000002 --base-path=/tmp/bob --bob --validator --unsafe-rpc-external --no-telemetry --state-pruning=archive --no-private-ip --no-mdns --bootnodes /dns/bootnode0.chain.ghostchain.io/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp --no-hardware-benchmarks
Because of internal testing there is already a ledger consisting of a few thousand blocks. Let the ledger sync and produce a few blocks of your own, maybe just 100 blocks. Eventually you should be seeing:
- Blocks being imported
- 1 Peer
Your terminal window should look something like this:
In the case of an Error add -l sub-libp2p=debug
flag:
./ghost/ghost-node/target/release/ghost --port=30334 --rpc-port=3001 --chain=spec.json --node-key=0000000000000000000000000000000000000000000000000000000000000002 --base-path=/tmp/bob --bob --validator --unsafe-rpc-external --no-telemetry --state-pruning=archive --no-private-ip --no-mdns --bootnodes /dns/bootnode0.chain.ghostchain.io/tcp/30333/p2p/12D3KooWEyoppNCUx8Yx66oV9fJnriXwCcXwDDUA2kj6vnc6iDEp --no-hardware-benchmarks -l sub-libp2p=debug
Once the testing is complete:
- Take a Screenshot of the terminal window and Save it
- Post the Screenshot in the Whales Group
- Turn off Bob Validator Node by pressing CTRL + C
2. Validator Node Qualification Test
Becoming a Validator Node on GHOST Chain is an absolute MUST if we want the network to be sufficiently decentralized. However, due to certain ISP limitations some countries make it being a Validator Node easier than others. Hence, the GHOST Dev team came up with a Validator Node Qualification Test.
First we must determine the public IP for your GHOST Node Machine. You can open the FireFox browser on your GHOST Node and go to CHECK IP.
You should see something like this:
Then open terminal on your GHOST Node machine and install TRACEROUTE
:
sudo apt install traceroute
Then type the following command replacing YOUR_IP_FROM_PREVIOUS_STEP
with an actual IP address from previous step:
traceroute YOUR_IP_FROM_PREVIOUS_STEP
Press Enter and let the command run for a while. Your terminal window should look something like this:
Afterwards, post the screenshot of your terminal window in the Whales group. Feel free to blur out your IP.
Next Steps
For next steps please follow further instructions sent to you in the message via Telegram Bot.