11-21-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
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
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
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
$ 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 |
---|---|---|
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 |
|
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. |
|
Perform a token transfer between accounts | Transfer tokens between accounts |
|
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.