Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Participants

Pre-Requisites

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

...

Connect to DevNet and sync your state on your node. Instructions are located below.

Goals

  • Help folks configure their nodes with Node 0.9.1

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

  • Test what happens when a node has stale state & then sends a deploy & proposes a block on top of an old block. Tom’s node from the 8th testing session is still bonded with old state. He will start his node and immediately deploy and propose before his node is in sync.

Bootstrap Address

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

Software Version (GitHash)

Node 0.9.1 Githash: 3651e41e1c9194a662a69e2acfac9941b1e17862

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.

  • If you compile node locally, obtain the Mint and Token contracts from the release repository tarballs and place them in the chainspec/genesis folder.

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

    Code Block
    $ yourdatadirectory/.casperlabs/chainspec/genesis
  • Code Block
    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

Attempt to run the node without deleting the state.

Leon didn’t delete his global-state directory, but his node did start syncing blocks from the beginning. We noticed problems with synching state, the node appeared to get stuck at the first 100 sync point. Upon deleting the global state, we observed that the sync happened much faster.

Connect to DevNet

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

Send transactions & blocks

Add transactions to the system

  • Medha ran counter-call multiple times.

  • Must specify --payment-amount of 10000000

  • Bonding amount should be less than a 1000000

Before state is caught up, Leon & Tom will send a deploy / propose from his node.

Other nodes send deploys / propose at the same time.

Observe the behavior of the other nodes, attempting to process the block.

Observe the justifications.

Observe DAG traversal.

  • The error ‘another propose is in progress’ while the machine is synching. No error when he attempted to deploy. Error showed up when he attempted to propose.

  • Leon’s machine is located in Singapore.

  • When Tom attempted to do so, he got a success message. Tom is on block 600, DevNet is at 750.

  • Tom’s block was added at rank 609 - Medha’s node saw the block and this message in the logs.

  • The block was ignored, along with all the transactions associated with the block were not finalized. The block was orphaned.

  • Code Block
    Received notification about 1 new block(s) from casperlabs://6ace8c39860756280098dece989ae31d2c4539b2@3.16.155.163?protocol=40400&discovery=40404: d73ab0ce66a371db0289f0baea54890bd11609e5c3c1b1a18d021d349dab2930
    2019-11-21 16:19:42,913 [node-runner-24] DEBUG io.casperlabs.casper.MultiParentCasperImpl$StatelessExecutor - Validating the transactions in d73ab0ce66...
    2019-11-21 16:19:42,928 [node-runner-24] DEBUG io.casperlabs.casper.MultiParentCasperImpl$StatelessExecutor - Validating neglection for d73ab0c66...
    2019-11-21 16:19:42,929 [node-runner-24] DEBUG io.casperlabs.casper.MultiParentCasperImpl$StatelessExecutor - Checking equivocation for d73ab0c66...
    2019-11-21 16:19:42,930 [node-runner-24] DEBUG io.casperlabs.casper.MultiParentCasperImpl$StatelessExecutor - Block effects calculated for d73ab0ce66...
    2019-11-21 16:19:42,962 [node-runner-24] INFO  io.casperlabs.casper.MultiParentCasperImpl$StatelessExecutor - Added d73ab0ce66...
    2019-11-21 16:19:42,971 [node-runner-20] DEBUG io.casperlabs.casper.MultiParentCasperImpl - Updating last finalized block after adding d73ab0ce66...
    2019-11-21 16:19:42,972 [node-runner-20] INFO  io.casperlabs.casper.finality.votingmatrix.FinalityDetectorVotingMatrix - The block Block #609 (d73ab0ce66...) -- Sender ID a9cfbc3d93... -- M Parent Hash b15e982143... -- Contents b7b5f8b873...-- Chain Name casperlabs... don't vote any main child of latestFinalizedBlock
    

Perform a token transfer between accounts

Transfer tokens between accounts

  • Create accounts using the transfer function

    • Code Block
      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

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

Outcome:

  • Leon is using ULTR VPS provider out of Singapore.

  • Leon experienced the ‘There is another propose in progress’ problem.

  • He didn’t delete the global state directory.

  • He has the right gitHash version.

Action items

Decisions