The Agoric OpCo engineering team is pleased to publish the agoric-upgrade-11 release. This is a promotion of agoric-upgrade-11-rc0
to full release status, and contains the same code (and uses the same Git commit ID) as agoric-upgrade-11-rc0
. This release is primarily intended to fix state-sync and data-encoding formats, and does not change the behavior of any contracts. It fixes at least the following issues:
- #8031 : the JavaScript VM export data is now stored more efficiently, without encoding
- #8081 : using state-sync import to create a new node no longer breaks an hour later
- #8025 : state-sync import now repopulates all metadata, enabling a later state-sync export
- #7929 : remove Golang version from in-consensus messages
- #7829/#7834/#7836 : assume all compiler builtins are present
- #6527 : enable genesis export with JS VM data
This code has satisfied all pre-release/testnet validation checks, and is now recommended for chains to upgrade from the previous mainnet1B
release. As a state-machine-breaking upgrade, once approved, all chain validators will need to upgrade from mainnet1B to this new version (after the chain halts due to reaching the height required in a governance proposal).
When this upgrade is activated, there will be a slight pause while some database contents are migrated.
After the upgrade, state-sync snapshots will include more data than before. Nodes which have inadvertently pruned this data (e.g. those created from an earlier state-sync) will not be able to produce such snapshots, and will need to be restored from a state-sync snapshot made with the agoric-upgrade-11
software. Please see the forum post for more details.
Discussion for this release will take place in the Agoric community forum.
Tag: agoric-upgrade-11
Commit: 92b6cd7
Docker: ghcr.io/agoric/agoric-sdk:36
As shown in go.mod this release is based on:
ibc-go v3.4.0
cosmos-sdk v0.45.11
tendermint v0.34.23
How to upgrade
Presuming that your node is running mainnet1B, once the upgrade height for a subsequent proposal to upgrade to agoric-upgrade-11 has been reached, your node will halt automatically allowing you to upgrade the agoric stack.
# prepare by installing Go 1.20.2 or higher, Node 16, clang 10 or gcc 10
# stop the agd service
cd agoric-sdk
git fetch --all
git checkout agoric-upgrade-11
yarn install
yarn build
(cd packages/cosmic-swingset && make)
#start the agd service
Do not copy the agd
script or Go binary to another location. If you would like to have an executable agd
in another location, then create a symlink in that location pointing to agoric-sdk/bin/agd
.
Node Version
Node.js LTS (version 16.13.0 or higher).
Golang Version
The agoric-upgrade-11 release requires Go 1.20.2 or higher.
C Compiler Version
In general, Clang version 10 or GCC version 10 required, however this release may work with GCC version 9.
Troubleshooting repoconfig.sh: No such file or directory
Unlike typical cosmos-sdk chains where the daemon is a single executable file, Agoric's use of cosmos-sdk depends on many components of agoric-sdk
at runtime. Copying agd
to /usr/local/bin
or the like is unlikely to produce a working installation. For more detail, see: #7825
Troubleshooting Cannot find dependency ...
in systemd
If you have LimitNOFILE=4096
in your systemd unit file, change it to LimitNOFILE=65536
. For more detail, see #7817
Specifying --upgrade-info
for the software upgrade proposal
The ./scripts/gen-upgrade-proposal.sh
is designed to aid in composing a agd tx submit-proposal software-upgrade ...
command. In particular, it captures package checksums to verify integrity of downloaded software.