We continue to investigate issues observed in test net last week. For this testing session we will test a strategy to test validator bonding and syncing in the release-rnode-v0.7 branch of the project. NOTE this means using a different run command than typically used. Please pay special attention to step 1 below
Note If you used a previous version of RNode, please delete your existing .rnode directory. Most errors experienced using RNode relate to content in the directory from a previous version.
Today's version RChain Node 0.7.1 (c3109d3bf326e91bf9bec7248ced8bad51e56d6b)
Get the "Release" bootstrap address at https://rchain.atlassian.net/wiki/spaces/CORE/pages/501842019/RNode+bootstrap+addresses
- RNode supports ed25519 keys
- Generate an ed25519 key set
- If you use this key and want to join as a validator, you will follow the bonding protocol described below during the testing session.
You need to have both the public and private keys for bonding. Make sure you use private key that matches the one you used in your RNode run command.
Step 1 - Run RNode and connect to the bootstrap node
Note For this testing session we specify the ports for kademlia and the RChain protocol. These specifications happen in --kademlia-port, --port, and in the bootstrap address
./bin/rnode run --kademlia-port 40405 --port 40406 --default-timeout 6000 -b "rnode://email@example.com?protocol=40406&discovery=40405" --validator-private-key <private key>
You can now check your version of RNode via the gRPC server.
curl -s localhost:40403/version
Step 2 - Generate the deploy files. There now exists a command within RNode to handle the deploy request generation. When this command is complete there will be 2 new .rho files in your directory: forward_filename.rho and bond_filename.rho.
./bin/rnode generateFaucetBondingDeploys --amount <bond amount> --private-key <private key > --public-key <public key > -s ed25519
Step 3 - Deploy the forward file to a bonded validator.
./bin/rnode --grpc-host <IP address of a bonded validator> deploy --phlo-limit 10000000000 --phlo-price 1 <forward_filename.rho>
You can deploy to Kelly's node at 126.96.36.199
Wait for a block to be proposed.
Step 4 - Deploy the bond file to a bonded validator.
./bin/rnode --grpc-host <IP address of a bonded validator> deploy --phlo-limit 1000000000 --phlo-price 1 <bond_filename.rho>
- --grpc-host You can deploy to any validator node. Kelly's node is at 188.8.131.52
Wait for a block to be proposed.
Step 5 - Confirm you are bonded.
Either run with the hash of the block proposed after your deployment in step 4
./bin/rnode show-block <block hash>
In the the block info section either search for your <public key>, or your <bond amount> - 1 (ex If your bond amount was 500, it will be 499 reflecting the reduction of 1 REV for the joining fees).
Or, grep or search for your public key in the block contents. If you see your public key and bond amount - you are bonded!
New deploy command
With the merge of https://github.com/rchain/rchain/pull/1555, the deploy command for RNode changed. Now deploy commands need values for phlo-limit and phlo-price that are greater than 0.
rnode deploy --phlo-limit <value> --phlo-price <value> <path to .rho file>
After the deployment is successful users might see a message like
CostAccount(__some_value__, Cost(__some_value__)) . The first
__some_value__ represents number of steps it took to reduce/execute their code, second
__some_value__ means how much it cost. I said "users might see" because it depends on how they execute programs. We will make the message more user-friendly in the near future.
You best support the improvement and development of the RChain platform when you file a bug to report challenge you faced or unsuccessful outcomes. This will help us collect all relevant information to better understand your setup and experience.