Starting the network

Creating infrastructure

Make sure that you have gcloud installed, terraform installed and configured.

Git clone https://github.com/rchain/rshard

Initialise git-crypt inside the repo. This will be used to encrypt .pem files for SSL while transferring them to validator node.

git-crypt init

Export git-crypt key. Keep it safe!

git-crypt export-key ~/rshard-git-crypt-secret.key

Generate network files

./scripts/generate-network-files network-files root-shard.mainnet.rchain.coop mainnet 9

This script will create necessary files for all nodes without private and public keys filled in.

Add and commit changes

Set paths to wallets an bonds files inside ./start.sh

Add and commit changes

Now deploy the network infrastructure using Google Cloud

Wait till network infrastructure is installed.

Starting the nodes

Prepare 9 key pairs for validators. Adjust the following config files.

Replace existing config files on servers containing dummy keys with the real ones.

Start the nodes

Pull configuration files used to run the nodes to your local machine. These files are required to restart RNode and should be kept secret as they contain private keys.

Delete config files containing private keys from the remote servers.

Pull .pem keys and certificates from servers. Leave them on servers.

 

Ceremony master node0.root-shard.mainnet.rchain.coop

Peers node{1-8}.root-shard.mainnet.rchain.coop

To restart the node operator should place config file that corresponds this particular node back and use the following command. Substitute rchain/rnode:v0.9.22 with required release version. After node is started - remove config file again.