Official announcement from the Penumbra team:
We’re excited to announce a new release today, v0.71.0. This release is particularly special as it’s designed to facilitate a chain upgrade in collaboration with our validator community. This is an essential step for all node operators to ensure continued participation in the network.
For those who have set up their nodes using our guide, we’ve prepared a quick installation script to ease the upgrade process:
curl -O https://raw.githubusercontent.com/nodesbond/penumbra_guide/main/Performing_chain_upgrades.sh && chmod +x Performing_chain_upgrades.sh && ./Performing_chain_upgrades.sh
Alternatively, if you prefer to perform the upgrade manually, here are the steps included in the script:
1. Terminate Existing Session
tmux kill-session -t penumbra
2. Export State
pd export --home ~/.penumbra/testnet_data/node0/pd --export-directory ~/.penumbra/testnet_data/node0/pd-exported-state
3. Backup Current State
mv ~/.penumbra/testnet_data/node0/pd ~/.penumbra/testnet_data/node0/pd-state-backup
4. Update Penumbra
git clone https://github.com/penumbra-zone/penumbra cd penumbra git fetch git checkout v0.71.0 cargo build --release --bin pcli cargo build --release --bin pd
5. Migrate State
pd migrate --genesis-start "2024-03-28T19:18:38.745760868Z" --target-directory ~/.penumbra/testnet_data/node0/pd-exported-state/ --migrate-archive ~/.penumbra/testnet_data/node0/pd-migrated-state-v0.71.0.tar.gz
6. Prepare New State Directory
mkdir ~/.penumbra/testnet_data/node0/pd && mv ~/.penumbra/testnet_data/node0/pd-exported-state/rocksdb ~/.penumbra/testnet_data/node0/pd/ cp ~/.penumbra/testnet_data/node0/pd-exported-state/genesis.json ~/.penumbra/testnet_data/node0/cometbft/config/genesis.json cp ~/.penumbra/testnet_data/node0/pd-exported-state/priv_validator_state.json ~/.penumbra/testnet_data/node0/cometbft/data/priv_validator_state.json find ~/.penumbra/testnet_data/node0/cometbft/data/ -mindepth 1 -maxdepth 1 -type d -exec rm -r {} +
7. Restart Node
tmux new-session -d -s penumbra '/root/penumbra/target/release/pd start' && tmux split-window -h '/root/cometbft/cometbft start --home ~/.penumbra/testnet_data/node0/cometbft' && tmux attach -t penumbra
This manual migration is crucial for maintaining your node’s active status within the network. We highly recommend using the provided script for convenience, but the manual steps are also available for those who prefer a hands-on approach. Thank you for your cooperation and commitment to the Penumbra network!