Hello @poa-validators
Parity recently published a new Parity Ethereum release v2.7.2 which contains some of the new AuRa features we added throughout the last year. One of the features is on-chain randomness. We added this in PR #10946.
We would like to test the randomness on Sokol first, so we need to activate it by updating spec.json
and Parity to v2.7.2 on validator nodes.
This feature assumes that each validator will automatically create a transaction to the RandomAuRa contract (to generate a random number) from their mining key once per 20 blocks. The transaction won’t consume any gas as it will be executed with a zero gas price.
As a result, POA users will get an ability to use a random seed for their needs (please read here how it works).
The corresponding change in spec.json
was made in https://github.com/poanetwork/poa-chain-spec/pull/137/files
The randomness activation in Sokol is going to be at block 13391641
(Thursday, 20-Feb-2020 ~08:00 am UTC).
For that, we need to update both Parity
(to v2.7.2
) and spec.json
. Please follow the steps below:
- SSH login to your Sokol node.
- Stop Parity service
sudo systemctl stop poa-parity
- Switch to
home
directory (NOTE: if you’re updating a bootnode, the path is/home/bootnode
)
cd /home/validator
pwd
output should be
/home/validator
- Check your node.toml - it should contain
force_sealing = true
line:
grep force_sealing node.toml
output should be
force_sealing = true
- Remove older backups
sudo rm -rf backups-version
- Create a new backup
sudo mkdir backups-version
sudo touch backups-version/BEFORE-2.7.2
BKPFLDR="backups-version/$(date '+%Y%m%dT%H%M%S' -u)"
sudo mkdir -p "$BKPFLDR"
sudo mv parity spec.json "$BKPFLDR"
- Switch to
validator
user (NOTE: if you’re updating a bootnode, username should bebootnode
)
sudo -i -u validator
- Download new parity binary
curl -LO 'https://releases.parity.io/ethereum/v2.7.2/x86_64-unknown-linux-gnu/parity'
- Check binary integrity
echo 'fe992f0c9b229a4406e82b9ff6d388f4acb4d6ce2782cb79b7bc379e7965ae34 parity' | sha256sum -c
output should be
parity: OK
- Set permission to execute the binary
chmod +x parity
- Download new spec file
curl -LO 'https://raw.githubusercontent.com/poanetwork/poa-chain-spec/sokol/spec.json'
- Check that new spec contains an activation block set to 13391641
grep 13391641 spec.json
output should be
"13391641": "0x8f2b78169B0970F11a762e56659Db52B59CBCf1B"
- Login back to sudo-enabled user
exit
- Restart services
sudo systemctl start poa-parity && sleep 10 && sudo systemctl restart poa-netstats
- Check that your node is “green” in netstats https://sokol-netstat.poa.network (this may take a couple of minutes)
- Wait to see if your node produces new blocks https://blockscout.com/poa/sokol