The CLI command, proposal-set-plan, is used to create a proposal to set an upgrade plan for the network. If voted, the upgrade plan is saved and will be overwritten by any subsequent proposals voted before the $MIN_UPGRADE_TIME. The command accepts the following flags:
Bash
Copy
sekaid tx customgov proposal-set-plan \
--from=$SIGNER $FLAGS_TX \
--name=$NAME --resources=$RESOURCES \
--min-upgrade-time=$MIN_UPGRADE_TIME \
--old-chain-id=$OLD_CHAIN_ID \
--new-chain-id=$NEW_CHAIN_ID \
--rollback-memo=$ROLLBACK_MEMO \
--max-enrollment-duration=$MAX_ENROLLMENT_DURATION \
--upgrade-memo=$UPGRADE_MEMO \
--instate-upgrade=$INSTATE_UPGRADE \
--reboot-required=$REBOOT_REQUIRED \
--skip-handler=$SKIP_HANDLER \
--title=$TITLE --description=$DESCRIPTION
Bash
Copy
# Example - Demo Hard Fork, NO changes in binaries (instate-upgrade: false, skip-handler: true)
HASH="bafybeigx2qmj26n3q7ueqizjqwcorokzwmvodsnfx4gcljpthpqsqgl3zu" && \
RES1="{\"id\":\"kira\",\"git\":\"https://ipfs.kira.network/ipfs/$HASH/kira.zip\"}" && \
sekaid tx upgrade proposal-set-plan \
--name="Hard Fork - Test Upgrade - $(date)" \
--instate-upgrade=false \
--skip-handler=true \
--resources="[${RES1}]" \
--min-upgrade-time=$(($(date -d "$(date)" +"%s") + 900)) \
--old-chain-id="$NETWORK_NAME" \
--new-chain-id="$(echo $NETWORK_NAME | cut -d '-' -f 1)-$(($(echo $NETWORK_NAME | cut -d '-' -f 2) + 1))" \
--max-enrollment-duration=60 \
--upgrade-memo="This is a hard fork test upgrade with no changes in sekaid binary"
# Demo Hard Fork, changes in binaries (instate-upgrade: false, skip-handler: false)
HASH="bafybeicm4r5ny2fysxmnvv6wxxkrkevrwle2j2jqc5ymv2oodg3yxms7wq" && \
RES1="{\"id\":\"kira\",\"git\":\"https://ipfs.kira.network/ipfs/$HASH/kira.zip\"}" && \
sekaid tx upgrade proposal-set-plan \
--name="Hard Fork - Test Upgrade - $(date)" \
--instate-upgrade=false \
--skip-handler=false \
--resources="[${RES1}]" \
--min-upgrade-time=$(($(date -d "$(date)" +"%s") + 900)) \
--old-chain-id="$NETWORK_NAME" \
--new-chain-id="$(echo $NETWORK_NAME | cut -d '-' -f 1)-$(($(echo $NETWORK_NAME | cut -d '-' -f 2) + 1))" \
--rollback-memo="roll" \
--max-enrollment-duration=60 \
--upgrade-memo="This is a hard fork test upgrade with changes made to the sekaid binary" \
--from=validator --keyring-backend=test --home=$SEKAID_HOME --chain-id=$NETWORK_NAME --fees=100ukex --log_format=json --yes --output=json | txAwait 180