11-07-2019 Workshop

Participants

 

  • @Medha Parlikar

  • @Tom Vasile (Deactivated)

  • @Ashok Ranadive (Unlicensed)

  • @Rita Allen (Unlicensed)

  • @Former user (Deleted)

  • @Former user (Deleted)

  • @Former user (Deleted)

  • Chidindu Ojimadu

  • JLeonY

  • Joowon Yun

  • Joon-ho Yeom

Pre-Requisites

Install Prerequisites described here: https://github.com/CasperLabs/CasperLabs/blob/dev/docs/BUILD.md#prerequisites

Pre-Compile Contract Examples: https://github.com/CasperLabs/contract-examples#casperlabs-smart-contract-examples

Goals

 

  • Help folks configure their nodes with Node 0.9

  • Connect to DevNet (Create the chainspec locally for DevNet)

  • Synch state with DevNet

  • Send a bonding request

  • Send a deployment and propose a block.

 

Bootstrap Address

We will select the bootstrap during the session.

casperlabs://a605c8ddc4ed3dc9b881bfe006cc8175fb31e125@100.24.117.48?protocol=40400&discovery=40404

Software Version (GitHash)

Node 0.9.0 Githash: 9ce36fec05d57eee9ff9e450fdba255ca9b494e4

Docker tag: latest

What you need to know:

  • Make sure you have a public / private key pair that you have generated via the explorer at https://clarity.casperlabs.io

  • Update your node to the latest version.

  • Download accounts.csv from the 0.9.0 release page located at: https://github.com/CasperLabs/CasperLabs/releases/tag/v0.9.0 and place it in the

    $ yourdatadirectory/.casperlabs/chainspec/genesis
  • md5sum: 15c20435e7ef4928e6f844c1a749b32c
  • Delete the data directory if you have to upgrade the node software or restart your node.

    • global-state

    • blockstore

    • dagstore

    • sqlite.db

  • Run the Execution Engine first, before launching the node.

  • When generating Keys using Docker, use the wrapper script as documented in GitHub

Discussion topics

Title

Description

Notes

Title

Description

Notes

Connect to DevNet using the chainspec

Using the accounts.csv file, generate a genesis block that matches DevNet

  • We needed to update the documentation to include the md5 checksum for the accounts.csv file

  • Joonwon ran into issues because he built the Mint and PoS contracts locally and the builds are non-deterministic.

Observe the nodes synching state.
(approx 5 mins for AWS)

Watch the nodes download blocks. Attempt to propose new transactions in DevNet

 

Fund accounts using Clarity

Using Clarity, fund the validator accounts for bonding

 

Send a bonding request

Using the newly funded account, bond to the DevNet

  • Must specify --payment-amount of 10000000

  • Bonding amount should be less than a 1000000

Verify that your node is bonded

Verify that the node is bonded.

 

Observe metrics from other nodes

query gRPC ports of other nodes in the network

 

Perform a token transfer between accounts

Transfer tokens between accounts

  • Create accounts using the transfer function

  • Verify the balance

Outcome:

  • Joowon waited for synchronization for over 20 minutes to download 341 blocks. He is located in Korea, and is running his node locally on his PC.

  • Joon-ho Yeom is also running in Korea on his local PC. took about 13 minutes to sync 130 blocks.

  • JLeonY was able to bond

Action items

  1. Up the faucet in the explorer to dispense enough tokens to fund transactions.

  2. Figure out why payment amount needs to be so high.

  3. Include the location of the PoS and Mint contracts in future documentation for persons that build the node locally. Compilation of the contracts is non-deterministic.

Decisions

  •