Page cover
githubEdit

Bringing decentralization parameter down to .80

For your pool to produce blocks, you need to lower the decentralization parameter. To do that, create an update proposal to lower the decentralization parameter.

First, generate non-extended verification keys for your genesis delegates:

cardano-cli key non-extended-key \
--extended-verification-key-file genesis-keys/shelley.000.vkey \
--verification-key-file genesis-keys/non.e.shelley.000.vkey
cardano-cli key non-extended-key \
--extended-verification-key-file genesis-keys/shelley.001.vkey \
--verification-key-file genesis-keys/non.e.shelley.001.vkey

Update proposals need to be submitted during the first 4k/f slots of the epoch. Keep in mind that Shelley epochs have 20 times as many slots as Byron epochs. This short script will show if there is time to submit the update proposal in the current epoch. Change the value of Byron slots to be subtracted from the current tip (in this case it was 1350):

#!/usr/bin/env bash

BYRON_SLOTS=1350
TIP=$(cardano-cli query tip --testnet-magic 42 | jq .slot)
SHELLEY_SLOTS=$(($TIP-$BYRON_SLOTS))
SHELLEY_EPOCH_LENGTH=$(cat configuration/shelley-genesis.json | jq .epochLength)
K=$(cat configuration/shelley-genesis.json | jq .securityParam)
F=$(cat configuration/shelley-genesis.json | jq .activeSlotsCoeff)

UPDATE_PROPOSAL_TH=$(echo "4*$K/$F" | bc)
SLOT_IN_EPOCH=$(($SHELLEY_SLOTS % $SHELLEY_EPOCH_LENGTH))

echo "UPDATE-THRESOLD: $UPDATE_PROPOSAL_TH"
echo "SLOT IN EPOCH: $SLOT_IN_EPOCH"

You need to submit the proposal in the first 4k/f slots in the epoch, so before slot 3600 of the current epoch:

You can now create the proposal like this:

So, with the proposal submitted on epoch 5, the node logs show that the update proposal will take effect at epoch 6:

The stake pool starts producing blocks on epoch 6:

Last updated