Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
303 stars 191 forks source link

Create website info listing Interchain Stack versions of mainnet #9014

Open JimLarson opened 4 months ago

JimLarson commented 4 months ago

What is the Problem Being Solved?

Many external users treat mainnet as a generic Cosmos-sdk-based chain using Cosmos tools. The Cosmos external interface evolves over time, so knowing the particular versions of the Interchain Stack that we're using will provide needed support to such users.

Description of the Design

The current mainnet (agoric-upgrade-13) can advertise:

After agoric-upgrade-14 it will be:

Security Considerations

Might help attackers identify vulnerabilities in the Interchain Stack versions we're using. On the other hand, such information is not secret.

Scaling Considerations

N/A

Test Plan

N/A

Upgrade Considerations

Upgrades will need to update this information.

dckc commented 4 months ago

https://docs.agoric.com/guides/integration/chain-integration.html might be a good place to document this.

That would suggest transferring this issue to the documentation repo

Any reference to what's currently on mainnet should include language about how that's subject to governance; for example, see https://docs.agoric.com/guides/getting-started/syncing-up.html

raphdev commented 3 months ago

This came up in a recent conversation and turns out gRPC (and gRPC gateway) does provide such info. Ping.pub gets this information from /cosmos/base/tendermint/v1beta1/node_info (with omissions):

{
    "version": "0.34.30",
    "application_version": {
        "name": "agoriccosmos",
        "app_name": "agd",
        "version": "0.35.0-u14.1",
        "git_commit": "d69c01100",
        "go_version": "go version go1.21.6 linux/amd64",
        "build_deps": [
            {
                "path": "github.com/cosmos/ibc-go/v6",
                "version": "v6.2.1",
                "sum": "h1:NiaDXTRhKwf3n9kELD4VRIe5zby1yk1jBvaz9tXTQ6k="
            },
        ],
        "cosmos_sdk_version": "v0.46.16"
    }
}

Perhaps we can have a page pulling this information to avoid manual updates?