Alpha allow tz4 delegates
What
This MR enable the use of BLS address as delegates.
Depends on !15311 (merged)
Why
For future works related to aggregation of consensus operation, we need delegate to use BLS addresses. This work is the first step to reach this goal.
How
By removing the check that forbid Tz4 BLS address to be delegates.
Manually testing the MR
Run the test that needed to be adapted since now, in alpha, BLS addresses are allowed as delegate and consensus keys.
You can also manually test that in sandbox following these steps:
- Run a sandboxed node with
./src/bin_node/octez-sandboxed-node.sh 1 --connections 0 - Run a sandboxed client with
eval `./src/bin_client/octez-init-sandboxed-client.sh 1` - Activate alpha with
octez-activate-alpha - Create a BLS account with
octez-client gen keys alice -s bls - Ensure that alice it a tz4 account with
octez-client show address alice - Fund the account with
octez-client --wait none transfer 1000000 from bootstrap1 to alice --fee 1 --burn-cap 0.07 - Bake a block
octez-client bake for --minimal-timestamp - Check the account balance with
octez-client get balance for alice - Register the account as a delegate
octez-client --wait none register key alice as delegate - Make Alice stake
octez-client --wait none stake 800000 for alice - Bake some blocks until the account has rights to bake
octez-client bake for --minimal-timestamp -n 30 - Check that the account as rights to bake with
octez-client bake for alice --minimal-timestamp
Now we want to test consensus key with BLS
- Create another BLS account with
octez-client gen keys bob -s bls - Set the consensus of a bootstrap account to this new BLS account with
octez-client --wait none set consensus key for bootstrap3 to bob - Bake some blocks until the consensus key of the bootstrap account is activated
octez-client bake for --minimal-timestamp -n 30 - Check that the account as rights to bake on behalf of the bootstrap account with
octez-client bake for bob --minimal-timestampyou should see something like:
Oct 15 15:08:41.739: block BKs9uUPTDX8pUTZKaMeukAzL75i4m3PcFdMRJ6bX5tq9P8BFJWN at level 54, round
Oct 15 15:08:41.739: 10 injected for bob (tz4WkYUdy7h8idevvUgNG8rQppshrCM58Raf)
Oct 15 15:08:41.739: on behalf of tz1faswCTDciRzE4oJ9jn2Vm2dvjeyA9fUzU
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Albin Coquereau