Tezos bakers and all!
Starting from this week’s Weeklynet deployment – that is, with the network starting on Wed Feb 28th –, we will deploy a series of live test scenarios to showcase baking and staking UX and Adaptive Slashing in the upcoming Paris protocol proposal.
Each day, we will deploy different scenarios, and we will provide you a small report on these actions and their effects – updating this thread accordingly.
The goal is to present realistic scenarios which Tezos bakers and users in general can witness on a live testnet, eventually replicate on their own and/or ask questions (either in this thread, or in the #baking channel on Tezos Discord).
Scheduled Scenarios
We will deploy a series of specific baker and staker accounts which will be involved in the different scenarios.
Then, each day, we will run different specific scenarios (described below) and report their observable effects.
We will include client commands and RPC endpoints used in this process, to allow bakers and any interested participant to replicate these scenarios on their own.
In that case, please note that as Weeklynet moves fast, these RPC endpoints may only return data if querying full or archive nodes.
Note we may modify these scenarios as the whole experiment progresses.
Dedicated accounts
Note that these accounts will be bootstrapped with funds from the creation of the test network. Any baker or user interested in deploying these scenarios can rely on Weeklynet’s faucet for funds.
delegate1 tz1dLg1FCT9HahvrfjsjyRdg3io5BjuRHCYk
delegate2 tz1dLG2tSWJzYXRNEeQQWoYpF5rCB5WF33yT
staker1 tz1StA1g3ZuXALEcSYnh5bGFpv6mUg1SYd9Q
staker2 tz1STA2CG3Z7XGKCcmWkuYbbBjQYQcVmgJ6C
staker3 tz1STa3McBCrYBXvcA5bCW4KFQQxCQyxDnXG
staker4 tz1STA4fbG657scmYahaLnFSxz4s2MqzH2bY
staker5 tz1Sta5sAAHotnBvcecV2Cr41c4Uczv23TvT
Day 1 (Wednesday)
Focus of this scenario:
- Setting up delegates, stakers and delegators;
- Manually manipulating stake and delegations;
- Updating staking parameters.
Delegate1
delegate1
is bootstrapped with a balance of 400,000 tez.delegate1
registers as delegate.delegate1
stakes 100,000 tez of their own balance.delegate1
sets staking parametersedge-of-baking-over-staking
to 1 andlimit-of-staking-over-baking
to 0.1.
These steps can be implemented with the following client commands:
octez-client register key delegate1 as delegate
octez-client stake 100000 for delegate1
octez-client set delegate parameters for delegate1 --edge-of-baking-over-staking 1 --limit-of-staking-over-baking 0.1
Delegate2
delegate2
is bootstrapped with a balance of 400,000 tez.delegate2
registers as delegate.delegate2
stakes 399,000 tez – almost all its balance.delegate2
sets staking parametersedge-of-baking-over-staking
to 0.1 andlimit-of-staking-over-baking
to 5.
octez-client register key delegate2 as delegate
octez-client stake 399000 for delegate2
octez-client set delegate parameters for delegate2 --edge-of-baking-over-staking 0.1 --limit-of-staking-over-baking 5
Staker1
staker1
is bootstrapped with 10,000 tez.staker1
delegates todelegate1
.staker1
stakes 7,000 tez.
octez-client set delegate for staker1 to delegate1
octez-client stake 7000 for staker1
Staker2
staker2
is bootstrapped with 10,000 tez.staker2
delegates todelegate1
.staker2
stakes 9,990 tez.
octez-client set delegate for staker2 to delegate1
octez-client stake 9990 for staker2
Staker3
staker3
is bootstrapped with 10,000 tezstaker3
delegates todelegate2
staker3
stakes 1,000 tez
octez-client set delegate for staker3 to delegate2
octez-client stake 1000 for staker3
Staker4
staker4
is bootstrapped with 10_000 tez.staker4
delegates todelegate2
.
octez-client set delegate for staker4 to delegate2
Staker5
staker5
is bootstrapped with 10_000 tez.staker5
delegates todelegate2
.staker5
stakes 3,000 tez.
octez-client set delegate for staker5 to delegate2
octez-client stake 3000 for staker5
Day 2 (Thursday)
Focus:
- Stake manipulation;
- Staking parameters manipulation.
Delegate1
delegate1
updates staking parametersedge-of-baking-over-staking
to 1 andlimit-of-staking-over-baking
to 2.
octez-client set delegate parameters for delegate1 --edge-of-baking-over-staking 1 --limit-of-staking-over-baking 2
Staker1
stake1
unstakes 5,000 tez.
octez-client unstake 5000 for staker1
Staker3
staker3
stakes 1,000 tez.
octez-client stake 1000 for staker3
Staker5
staker5
unstakes all its stake.staker5
stakes 3,000 tez.staker5
changes delegate fromdelegate2
todelegate1
.
octez-client unstake everything for staker5
octez-client stake 3000 for staker5
octez-client set delegate for staker5 to delegate1
Note that the everything
argument enables unstaking all staked funds.
Day 3 (Friday)
Focus:
- Staking manipulations;
- Witnessing the effect of Adaptive Slashing after double baking.
Delegate1
delegate1
updates staking parametersedge-of-baking-over-staking
to 0.5 andlimit-of-staking-over-baking
to 5.delegate1
stakes 3,000 tez.
octez-client set delegate parameters for delegate1 --edge-of-baking-over-staking 0.5 --limit-of-staking-over-baking 5
octez-client stake 3000 for delegate1
Delegate2
delegate2
launches a second baker and may double bake. In which case, it would eventually result indelegate2
being slashed.
Staker1
staker1
changes delegation todelegate2
.
octez-client set delegate for staker1 to delegate2
Staker3
staker3
stakes 1,000 tez
octez-client stake 1000 for staker3
Staker5
staker5
unstakes 4,000 tez
octez-client unstake 4000 for staker5
Day 4 (Saturday)
Focus:
- Unstaking funds; finalizing stakes.
Delegate1
delegate1
stakes 5,000 tez.delegate1
stakes almost all available liquid funds – leaving 1 tez staked.
full_balance=$(octez-client rpc get /chains/main/blocks/head/context/delegates/tz1dLg1FCT9HahvrfjsjyRdg3io5BjuRHCYk/full_balance)
frozen_deposits=$(octez-client rpc get /chains/main/blocks/head/context/delegates/tz1dLg1FCT9HahvrfjsjyRdg3io5BjuRHCYk/current_frozen_deposits)
to_stake=$(((full_balance - frozen_deposits) / 1000000 - 1))
octez-client stake $to_stake for delegate1
Delegate2
delegate2
stops its second baker.
Staker2
staker2
unstakes all its stake.
octez-client unstake everything for staker2
Staker3
staker3
stakes 1,000 tez
octez-client stake 1000 for staker3
Staker5
staker5
transfers 1,000 tez to each ofstaker1
,staker2
andstaker3
.
octez-client transfer 1000 from staker5 to staker1
octez-client transfer 1000 from staker5 to staker2
octez-client transfer 1000 from staker5 to staker3
Day 5 (Sunday)
Staker3
- Staker3 unstakes 1,000 tez
octez-client unstake 1000 for staker3
Day 6 (Monday)
Staker1
staker1
unstakes all its stake
octez-client unstake everything for staker1
Staker3
staker3
unstakes 1,000 tez
octez-client unstake 1000 for staker3
Staker5
staker5
finalizes previously unstaked funds.staker5
transfers 1,000 tez tostaker4
.
octez-client finalize unstake for staker5
octez-client transfer 1000 from staker5 to staker4
Day 7 (Tuesday)
Staker3
staker3
unstakes all its stake
octez-client unstake everything for staker3