Skip to main content

Deploy Bootnode

Setup bootnode on GCP

Go to https://node.unitcode.org/ and follow instructions for deploying node to GCP up until "Modify customSpec.json".

Modify customSpec.json downloaded from GCP

Top portion of customSpec.json should be modified with the details shown below. Change "01022024" in the name field to reflect current date.  

Replace the current two aura keys with the first two generated during "Setup node on GCP". Change the first two key all through out the file using the find-and-replace feature in code editor.  

Replace the current two grandpa keys with the first two generated during "Setup node on GCP".  

Generate additional aura and grandpa keys for every node that will be deployed on your GCP instance. Gather the aura and grandpa keys from those who will be operating remote nodes.

Add the additional aura keys. This testnet will have a total of 6 nodes running.  

Add the additional grandpa keys. Each grandpa key is accompanied with a voting weight for validating. In this testnet, all nodes will have a voting weight of 1.  

Convert the chain specification to raw format

Transfer customSpec.json to GCP VM instance using FileZilla or using the upload feature in GCP's SSH-Browser.

To verify that your customSpec.json has been uploaded properly.

~/projects/Unit-Network-Chain
head customSpec.json

Convert the customSpec.json file to raw format. The raw format of the chain spec will be distributed to all nodes whose keys have been included in the chain spec.

~/projects/Unit-Network-Chain
./target/release/node-unitchain build-spec --chain=customSpec.json --raw --disable-default-bootnode > customSpecRaw.json

Start each node local to GCP instance

Go to https://node.unitcode.org/gcp/start-the-node and follow instructions for starting each node.

Expose P2P port of Bootnode

Run ufw command (Uncomplicated Firewall) to expose p2p port of bootnode.

~/projects/Unit-Network-Chain
sudo ufw allow 30333/tcp

Modify firewall policy for GCP instance

Go to firewall policies in GCP.  

Add an Engress firewall policy so nodes can send data. Include the P2P port for all of your running nodes.  

Add an Ingress firewall policy so nodes can receive data. Include the P2P port for all of your running nodes.  

Send the following resources to all testnet participants

Each participant needs to receive:

  • node binary
  • customSpecRaw.json
  • "Local node identity" of bootnode (first node deployed)
  • Public (External) IP address of GCP VM instance
  • P2P port of bootnode

Use Github Actions to provide participants with the correct version of the node binary.

These commands will trigger an action on the repo that compiles the node and uploads the binary in the release to download

git tag v2.3.24 (today's date)
git push origin v.2.3.24