20181030 RNode community testing

Table of contents


Overview

Each week we invite community members to help test RNode.

  • When - Tuesdays at 14:00 UTC
  • Where - This meeting takes place online using Zoom
    • Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/134156866
    • Or iPhone one-tap :
          US: +16468769923,,134156866# or +16699006833,,134156866#
    • Or Telephone:
          Dial(for higher quality, dial a number based on your current location):
              US: +1 646 876 9923 or +1 669 900 6833
          Meeting ID: 134 156 866
          International numbers available: https://zoom.us/u/rDfBtpt
  • Additional communications are posted in #node-testing on the RChain Discord.


What you can expect this week

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

Instructions for testing today

Install RNode

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.

RNode version for this session

Today's version RChain Node 0.7.1 (c3109d3bf326e91bf9bec7248ced8bad51e56d6b)

Get the bootstrap address

Get the "Release" bootstrap address at https://rchain.atlassian.net/wiki/spaces/CORE/pages/501842019/RNode+bootstrap+addresses

Select a validator key or generate one 

To select a key set

To generate a key set

  • 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.

Operating instructions

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://12207306beeb5366b0c9329d207c03db90a66cff@52.119.8.93?protocol=40406&discovery=40405" --validator-private-key <private key>

Check your version

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 52.119.8.64


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 52.119.8.64

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__))