10-24-2019 Workshop

Participants

 

  • @Medha Parlikar

  • @Tom Vasile (Deactivated)

  • @Ashok Ranadive (Unlicensed)

  • @Rita Allen (Unlicensed)

  • @Former user (Deleted)

  • @Former user (Deleted)

  • Chidindu Ojimadu

  • JLeonY

  • Stefan

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

  • Launch our own network (Go through Genesis)

  • Get the genesis block approved.

  • Build the contract examples

  • Send a deployment and propose a block.

 

Bootstrap Address

We will select the bootstrap during the session.

casperlabs://4c93621277aa5aa2e460707b1dab9496a0ddfd66@3.16.135.188?protocol=40400&discovery=40404

Software Version (GitHash)

Node 0.8.1 Githash: c87e32fc48e078972fec6ef0391e81fd5e52714f

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

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

  • Delete the data directory if you have to upgrade the node software or restart your node.

    • global-state

    • blockstore

    • dagstore

    • sqlite.db

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

Discussion topics

Time

Item

Notes

Time

Item

Notes

Create accounts.csv as a group

We will create the accounts file required to build the genesis block

  • Provide the base64 public key to Medha and Tom during the testing session to generate accounts.csv

  • Tom will create a gist for accounts.csv which everyone can download

  • Everyone should verify the md5sum of the file.

  • Medha starts up as the bootstrap and publishes the address to the group.

    • Starts with --casper-auto-propose-enabled

  • Everyone validates that they create the same genesis block

  • Medha observes peers

  • Genesis block approvals from the group

Medha sends a deploy to her node



  • Everyone verifies that they receive the block and has the same hash

  • Verify that the deployment worked

Perform a token transfer between accounts

Transfer tokens between accounts

  • Create accounts using the transfer function

    • casperlabs-client --host localhost transfer -a amount_to_transfer -t "target_account_in_base64" --private-key path_to_private_key --payment-amount 1
  • Verify the balance

    • casperlabs-client --host localhost balance -a base16accountid -b blockhash

Outcome:

  • Stefan, Medha and Tom were able to launch the genesis block and approve it

  • DAG grew to 23 blocks

  • System finalized blocks - rank #4. Medha’s node was doing most of the proposing.

  • Token transfers worked.

Action items

  1. New feature request to check for latest blocks for transfer requests by default

  2. Request to have a sentry to protect the validator nodes' open ports

  3. Desire to have a ‘clean’ tool to blow away default state with ease

  4. Make more obvious that the accounts.csv file has to exist under

Decisions

  • Next session let’s have some scripts ready that will perform installations

  • More folks proposing and deploying.

  • If possible, would be great to have nodes somewhere besides AWS, so we can start observing how the gossip layer performs.