#43 Agoric-upgrade-11

Hello Agoric Validators & BLD Community

Agoric OpCo is happy to announce that a new software release, agoric-upgrade-11, for the agoric-3 chain is now available. :raised_hands: This release contains a few important upgrades including:

  • State Sync fixes
  • Bug fixes

We’ve prepared the following:

Upgrade Handlers:

Emerynet: agorictest-upgrade-11
Mainnet: agoric-upgrade-11

:grey_exclamation: Important note for anyone generating state-sync snapshots for use by new nodes: :grey_exclamation:

In order to produce state-sync snapshots after agoric-upgrade-11, your node must have a “complete” JS database. If your DB isn’t complete, the state-sync generation process will fail. If you were running a node continuously since the Mainnet 1B upgrade (agoric-upgrade-10), then your DB will be complete.

If you created your node from a state-sync restore, or if you used a community snapshot that had itself restored from state-sync, then your DB will not be complete.

Agoric OpCo has follower nodes that are complete, and we’ll make sure that they’re available to create state-sync snapshots and help “seed” the network if needed.

Recommended Testnet Milestones

By running long-lived testnets and using that environment to evaluate software before promoting it to mainnet, validators play a vital role in maintaining a healthy, robust network for the Agoric community. Qualifying or certifying any new software release as production ready requires significant testing, and Agoric core developers recommend that validators evaluate the following milestones before launching an on-chain governance proposal on the agoric-3 mainnet.

:zero: – Choose a testnet coordinator to kick off the Emerynet upgrade. Traditionally, the testnet coordinator submits the on-chain proposal for mainnet software upgrade.

:one: – Ensure that you’re up to date on golang and node versions for this release, and that you’ve upgraded to the newest version of Cosmovisor that supports the upgrade handler.

:two: – Evaluate core mainnet functionality. This could include:

  • Creating a state-sync snapshot
  • Spinning up a node using a state-sync snapshot
  • Exercising the new VM functionality of the release by participating in the upgrade
  • Restarting your node after a successful upgrade
  • Making IBC transactions with testnet tokens
  • Exercising on-chain governance parameters
  • Test Inter Protocol Vaults and Liquidations

:three: – Take Vaults for a test drive. Once the UIs are wired up and the Econ Committee has set economic parameters on Emerynet, this could include:

  • Creating a Vault
  • Adjusting your Vault balances
  • Closing a Vault
  • Test out liquidations

:four: – Keep the community updated on testnet progress by posting updates to this thread or sharing details about mainnet-1b in Discord or Twitter so that the entire community can follow progress towards launch.

:five: – Coordinate with your fellow validators to determine if this release is ready to be promoted to mainnet and, when ready, the Testnet Coordinator should notify the OpCo team that they’d like the pre-release tag removed.

:six:– Testnet Lead or another validator create a mainnet proposal, if needed seek support from community for deposit.

Calculating an upgrade height

Creating an Emerynet upgrade proposal:

Confirm the commit hash BEFORE submitting a proposal.

upgradeto="agorictest-upgrade-11"

height="123get-blockheight-from-estimator"

agd tx gov submit-proposal software-upgrade $upgradeto --upgrade-info= <see release notes for instructions> --upgrade-height="$height" --title="Upgrade to $upgradeto" --description="This proposal if voted will upgrade the chain to $upgradeto" --from=yourwallet --chain-id=agoric-emerynet-8

When the testnet milestones are complete and validators have fully qualified the release on Emerynet, the testnet coordinator should inform Agoric OpCo to promote the release from rc to final and update tags accordingly, then create and submit a similar on-chain proposal to upgrade the agoric-3 chain to agoric-upgrade-11.

Creating a Mainnet upgrade proposal:

Confirm the commit hash BEFORE submitting a proposal.

upgradeto="agoric-upgrade-11"

height="123get-blockheight-from-estimator"

agd tx gov submit-proposal software-upgrade $upgradeto --upgrade-info=<see release notes for instructions> --upgrade-height="$height" --title="Upgrade to $upgradeto" --description="This proposal if voted will upgrade the chain to $upgradeto" --from=yourwallet --chain-id=agoric-3
3 Likes

Emerynet was successfully upgraded with the agorictest-upgrade-11 software!

Update on milestones

1 – Ensure that you’re up to date on golang and node versions for this release, and that you’ve upgraded to the newest version of Cosmovisor that supports the new upgrade handler.
All dependencies and preparation steps were done before the upgrade.

2 – Evaluate core mainnet functionality. This could include:
:kiwi_fruit: 2.1. Creating a state-sync snapshot
Our state-sync peer were configured to create snapshots every 1000 blocks, we can confirm that all snapshots were performed with no issues starting from upgrade block 1260068

ls ~agoric-testnet/.agoric/data/snapshots/
1259000  1260000  1261000  1262000  1263000  metadata.db

:kiwi_fruit: 2.2. Spinning up a node using a state-sync snapshot
Tested state-sync using our own RPC node.
Logs: Spinning up a node using a state-sync snapshot · GitHub
Instructions for state-sync: State sync - kjnodes | Chain services
:kiwi_fruit: 2.3. Exercising the new VM functionality of the release by participating in the upgrade
Upgraded the chain on upgrade block using Cosmovisor on 3 nodes without any issues
:kiwi_fruit: 2.4 Restarting your node after a successful upgrade
Restarted the node many times after upgrade with no problems

2 Likes

Update on milestones from MELLIFERA

  1. Ensure that you’re up to date on golang and node versions for this release, and that you’ve upgraded to the newest version of Cosmovisor that supports the upgrade handler.
  • All preparations were done and the upgrade was successful. .
  1. Evaluate core mainnet functionality. This could include

    2.2 Exercising the new VM functionality of the release by participating in the upgrade.

    Upgraded the chain successfully

    2.3 Restarting your node after a successful upgrade

    Restarted many times no issues were detected

    2.4 Making IBC transactions with testnet tokens.

    Created IBC channel between agoric and kyve (devnet korellia)

       - Client: 07-tendermint-10
         * Connection: connection-10
           | State: OPEN
           | Counterparty state: OPEN
           + Channel: channel-9
            | Port: transfer
            | State: OPEN
            | Counterparty: channel-2
     # Chain: agoric-emerynet-8
       - Client: 07-tendermint-6
        * Connection: connection-3
           | State: OPEN
           | Counterparty state: OPEN
           + Channel: channel-2
            | Port: transfer
             | State: OPEN
             | Counterparty: channel-9
    

    Tested IBC transfers to both sides:
    Agoric → Kyve (korellia)
    TrxHash Agoric:

    7D9C0F7AA090BD33A92710CEF41AC24490FD2F3B4E0F6308F4DEEEB1BDDDEC90

    Ping Dashboard

    TrxHash Kyve : 7D9C0F7AA090BD33A92710CEF41AC24490FD2F3B4E0F6308F4DEEEB1BDDDEC90

    Ping Dashboard - Cosmos Blockchain Explorer And Web Wallet
    Kyve (korellia) → Agoric
    TrxHash Kyve: 24EFFDB2357DA514E83828B22767D9A26DD7CEE5567E60979B127B5E921BEE81

    Ping Dashboard - Cosmos Blockchain Explorer And Web Wallet

    TrxHash Agoric: 395D23EDAC2FDC46A4EDD7FA792C1D995C729EC86DFC293BAD2CA7F06C42C6FB

    Ping Dashboard

    2.5 Exercising on-chain governance parameters Created test proposals #8

    Ping Dashboard

    Executed all vote options:

    • NO_WITH_VETO → 76C7D1DCCC37270DF2D50AE489D5BAA47AD0ECF99C51AAD025B6D6222594430E

    Ping Dashboard

    • YES → E20B89E309321A0B2987B886D54FE19B89CEBA09C8F753EBB506CEF0BBA519AF

    Ping Dashboard

    • NO → C10ED2CE64FC4A7BA96A4839BA6CB100A8507ADB7F7D3B43215BAD7EF24E4422

    Ping Dashboard

    • ABSTAIN → F0CFA3A446B46E6B6C2AC2BFA5BD518050D4404294FDB2DFAF3AC12091317BCB

    Ping Dashboard

    No issues were detected

1 Like

Following a request from validators after the milestone tests and a period of stable Emerynet, Agoric OpCo has updated the agoric-upgrade-11 release removing the release candidate status making it mainnet ready!

Release notes: Release agoric-upgrade-11 · Agoric/agoric-sdk · GitHub

Git commit ID: 92b6cd72484079b0349d8ccfa4510aeb820e8d67

Voted for new update!

Update:

agoric-upgrade-11 has been proposed as a software upgrade for Agoric mainnet!

Agoric proposal #43 is live in the voting period until 08:35 UTC Sept 10th with the upgrade block height set for block #11,591,462 - estimated to arrive Monday Sept. 11th at approximately 17:00 UTC.

Update: After a longer than expected upgrade time, agoric-upgrade-11 is now live and the Agoric chain is producing steady blocks! :raised_hands: :partying_face:

Thanks to the validators for your efforts in coordinating another successful Agoric chain upgrade! :pray:

Update:

While the upgrade was successful, unfortunately state-sync is still not working on mainnet. :persevere:

An issue was discovered and OpCo engineers are working on a fix. We will be preparing a new chain software upgrade for testing as soon as possible. This software upgrade will have minimal changes and no data migration required, so we won’t have the same issues that were encountered during agoric-upgrade-11.

Details about the issue are available in GitHub: state-sync cannot restore payloads larger than 64MB · Issue #8325 · Agoric/agoric-sdk · GitHub