Versions Compared

Key

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

...

...

Things you need to know:

  1. Accounts.csv is now accounts.toml (allowing for genesis delegation)

  2. Nodes that are offline will removed from the auction at the end of an Era and ejected after the auction delay period.

  3. In Delta-11

    1. Genesis is at 2021-03-15T17:00:00Z

      1. Blocks will not be produced until after genesis

      2. You do not need a trusted_hash if your node is started prior to genesis

    2. Era length is 120 minutes. Before it was 30 minutes.

    3. The auction delay period is 1 Era (120 minutes). Before it was 3 Eras (90 minutes).

    4. The token bonded in at genesis will have bid locked in the auction contract. Rewards will be locked also.

    5. The faucet will dispense about 1000 CSPR, and the total starting supply is set to 10 Billion CSPR.

  4. The status endpoint on port 8888 includes

    1. “round_length” for validating nodes returns a time value, for non-validating nodes returns null

    2. the validator public key as "our_public_signing_key"

    3. “genesis_hash” renamed to "starting_state_root_hash"

  5. The data type for delegation rate in add_bid.wasm deploy has changed from u64 to u8. Please re-build add_bid..

  6. Rewards are now automatically re-staked to bids when they are distributed by the protocol.

  7. Transfers have a minimum transfer amount of 2_500_000_000 motes.

Known Issues

  1. Genesis staked keys will have their bids locked! This is how mainnet will work. If a genesis node goes offline, it will be evicted from the validator set & have to send in a special transaction to resume their bid.

  2. Joining issue - due to the faster block speed, synchronizing the protocol state is an issue. The team has reproduced the issue and is working on a fix. In the meantime - an upgrade has been staged to reduce the rate of block production.

Network Info

chain_name: "delta-11"

starting_state_root_hash: "01ed..56b0"

github tag for compiling contracts: v0.9.3

Install Dependencies

Instructions assume Ubuntu 18.04 or later system

...

Code Block
sudo apt install gcc g++ pkg-config libssl-dev make wabt jq

#install rust https://www.rust-lang.org/tools/install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh    

Contract Compilation instructions

Code Block
git clone https://github.com/CasperLabs/casper-node.git

cd casper-node

git fetch

git checkout release-0.9.3

make setup-rs && make build-client-contracts -j

Node Installation Instructions- Clean Installation

Code Block
breakoutModefull-width
#### delta 11 ####
# clean up previous version nodes
sudo systemctl stop casper-node-launcher.service

sudo rm -rf /etc/casper/1_0_0
sudo rm -rf /var/lib/casper/bin/1_0_0
sudo rm -rf /var/lib/casper/casper-node
sudo rm /etc/casper/casper-node-launcher-state.toml

sudo apt remove -y casper-client casper-node-launcher

cd ~
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=casper-client_0.9.3-0_amd64.deb
curl -JLO https://bintray.com/casperlabs/debian/download_file?file_path=casper-node-launcher_0.3.1-0_amd64.deb

sudo apt install -y ./casper-client_0.9.3-0_amd64.deb ./casper-node-launcher_0.3.1-0_amd64.deb

sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_0 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_0

# After genesis a trusted hash is needed in config.toml.  This retrieves and loads it.  Please verify by looking at the top of /etc/casper/1_0_0/config.toml
sudo sed -i "/trusted_hash =/c\trusted_hash = '$(curl -s 18.144.176.168:8888/status | jq -r .last_added_block_info.hash | tr -d '\n')'" /etc/casper/1_0_0/config.toml

# If you DO NOT have keys yet, you can create them with this.  KEEP YOUR KEYS.
sudo -u casper casper-client keygen /etc/casper/validator_keys

sudo logrotate -f /etc/logrotate.d/casper-node
sudo systemctl start casper-node-launcher; sleep 2
systemctl status casper-node-launcher

Upgrade your node to 0.9.4

Stage the Upgrade on your node. Do NOT shut down or restart your node. This upgrade will take place at Era 34.

Code Block
sudo -u casper /etc/casper/pull_casper_node_version.sh 1_0_1 delta-11
sudo -u casper /etc/casper/config_from_example.sh 1_0_1

If you have anything custom in your config.toml, you need to modify the new config in /etc/casper/1_0_1.


Verify this returns activation_point = 34
cat /etc/casper/1_0_1/chainspec.toml | grep activation_point


Verify this returns casper-node 0.9.3-897b1b5f
/var/lib/casper/bin/1_0_1/casper-node --version


You will also see that you are ready for the upgrade when your status endpoint changes from "next_upgrade":null to "next_upgrade":{"activation_point":34,"protocol_version":"1.0.1"}

Detailed List of Changes

...

1263 - NO-TICKET: Include chainspec version in handshake

------------------------------------------
This introduces a protocol version field into the handshake, which is ignored by the V1.0.0 node. At the same time, if absent, V1.0.0 is filled in.
As a result, every version of the release node software has a correct protocol version field.

-----------------------------------------

1258 - NO-TICKET: limit deploy size to 1MiB

-----------------------------------------
This PR limits the deploy size, both when accepting one in the node, and when creating one in the client.

-----------------------------------------

1256 - NO-TICKET: Limit message size in chainspec

----------------------------------------

This ensures that nodes are in agreement about what the maximum message size is through the chainspec.

-----------------------------------------

1221 - EE-1207: make definition of system account AccountHash consistent

...

-----------------------------------------

1125 - NO-TICKET: use actual exit code returned by validator reactor

...