starship icon indicating copy to clipboard operation
starship copied to clipboard

update Noble chain to v8

Open 0xpatrickdev opened this issue 11 months ago • 5 comments

https://github.com/hyperweb-io/starship/issues/566 and https://github.com/hyperweb-io/starship/issues/579 added Noble chain v7. On Nov 11, 2024 Noble released v8.0.0. They’re now at 8.0.5.

https://github.com/hyperweb-io/starship/issues/566 adds a noble 8.x image, but does not include changes to scripts/noble/*genesis.sh that are required for 8.x compatability.

This issue tracks upgrading Starship to use the latest v8 version.

0xpatrickdev avatar Feb 10 '25 18:02 0xpatrickdev

Not sure what the changes are required for the scripts. Can you point me to it? or feel free to open up a PR to fix that as well.

Anmol1696 avatar Feb 13 '25 12:02 Anmol1696

Not sure what changes are required for the scripts

Me either - but they had a major upgrade which seems to include [email protected]: https://github.com/noble-assets/noble/compare/v7.0.0...v8.0.3.

The tests which I based https://github.com/hyperweb-io/starship/pull/579 on seem to have changed quite significantly as well.

Here are better symptoms:

kubectl logs noble-1-genesis-0 -c validator
1:29AM INF starting node with ABCI CometBFT in-process module=server
1:29AM INF service start impl=multiAppConn module=proxy msg="Starting multiAppConn service"
1:29AM INF service start connection=query impl=localClient module=abci-client msg="Starting localClient service"
1:29AM INF service start connection=snapshot impl=localClient module=abci-client msg="Starting localClient service"
1:29AM INF service start connection=mempool impl=localClient module=abci-client msg="Starting localClient service"
1:29AM INF service start connection=consensus impl=localClient module=abci-client msg="Starting localClient service"
1:29AM INF service start impl=EventBus module=events msg="Starting EventBus service"
1:29AM INF service start impl=PubSub module=pubsub msg="Starting PubSub service"
1:29AM INF service start impl=IndexerService module=txindex msg="Starting IndexerService service"
1:29AM INF ABCI Handshake App Info hash=E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855 height=0 module=consensus protocol-version=0 software-version=8.0.3
1:29AM INF ABCI Replay Blocks appHeight=0 module=consensus stateHeight=0 storeHeight=0
1:29AM INF InitChain chainID=noble-1 initialHeight=1 module=server
1:29AM INF initializing blockchain state from genesis.json module=server
1:29AM INF created new capability module=ibc name=ports/transfer
1:29AM INF port binded module=x/ibc/port port=transfer
1:29AM INF claimed capability capability=1 module=transfer name=ports/transfer
1:29AM INF asserted all invariants duration=0.000042 height=0 module=x/crisis
1:29AM INF Closing application.db module=server
1:29AM INF Closing snapshots/metadata.db module=server
panic: unknown field "params" in types.GenesisState

goroutine 1 [running]:
github.com/cosmos/cosmos-sdk/codec.(*ProtoCodec).MustUnmarshalJSON(0x40028d21e0?, {0x4001027500?, 0x40014e7188?, 0x40016138d8?}, {0x38b01a0?, 0x4001576a00?})
	/go/pkg/mod/github.com/cosmos/[email protected]/codec/proto_codec.go:219 +0x44
github.com/circlefin/noble-fiattokenfactory/x/fiattokenfactory.AppModule.InitGenesis({{}, _, {_, _}}, {{0x38d6890, 0x575d860}, {0x38f1190, 0x4001798540}, {{0x0, 0x0}, ...}, ...}, ...)
	/go/pkg/mod/github.com/circlefin/[email protected]/x/fiattokenfactory/module.go:133 +0x88
github.com/cosmos/cosmos-sdk/types/module.(*Manager).InitGenesis(_, {{0x38d6890, 0x575d860}, {0x38f1190, 0x4001798540}, {{0x0, 0x0}, {0x4000c49ca9, 0x7}, 0x0, ...}, ...}, ...)
	/go/pkg/mod/github.com/cosmos/[email protected]/types/module/module.go:505 +0x54c
github.com/cosmos/cosmos-sdk/runtime.(*App).InitChainer(_, {{0x38d6890, 0x575d860}, {0x38f1190, 0x4001798540}, {{0x0, 0x0}, {0x4000c49ca9, 0x7}, 0x0, ...}, ...}, ...)
	/go/pkg/mod/github.com/cosmos/[email protected]/runtime/app.go:189 +0xcc
github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).InitChain(0x4000c54248, 0x4001648380)
	/go/pkg/mod/github.com/cosmos/[email protected]/baseapp/abci.go:105 +0x500
github.com/cosmos/cosmos-sdk/server.cometABCIWrapper.InitChain(...)
	/go/pkg/mod/github.com/cosmos/[email protected]/server/cmt_abci.go:32
github.com/cometbft/cometbft/abci/client.(*localClient).InitChain(0x0?, {0x38d6bd8?, 0x575d860?}, 0xffff4d710548?)
	/go/pkg/mod/github.com/cometbft/[email protected]/abci/client/local_client.go:120 +0xe8
github.com/cometbft/cometbft/proxy.(*appConnConsensus).InitChain(0x4000960e70, {0x38d6bd8, 0x575d860}, 0x4001648380)
	/go/pkg/mod/github.com/cometbft/[email protected]/proxy/app_conn.go:78 +0x130
github.com/cometbft/cometbft/consensus.(*Handshaker).ReplayBlocksWithContext(_, {_, _}, {{{0xb, 0x0}, {0x2fcf39a, 0x7}}, {0x4000c49ca9, 0x7}, 0x1, ...}, ...)
	/go/pkg/mod/github.com/cometbft/[email protected]/consensus/replay.go:336 +0xc4c
github.com/cometbft/cometbft/consensus.(*Handshaker).HandshakeWithContext(0x4001727120, {0x38d6b30, 0x400135a0f0}, {0x38f4cf8, 0x40010ac700})
	/go/pkg/mod/github.com/cometbft/[email protected]/consensus/replay.go:274 +0x370
github.com/cometbft/cometbft/node.doHandshake({_, _}, {_, _}, {{{0xb, 0x0}, {0x2fcf39a, 0x7}}, {0x4000c49ca9, 0x7}, ...}, ...)
	/go/pkg/mod/github.com/cometbft/[email protected]/node/setup.go:186 +0x12c
github.com/cometbft/cometbft/node.NewNodeWithContext({0x38d6b30, 0x400135a0f0}, 0x40016ab180, {0x38b0020, 0x4001416a00}, 0x40011ce250, {0x3897c00, 0x40009603a8}, 0x4002206220, 0x321d220, ...)
	/go/pkg/mod/github.com/cometbft/[email protected]/node/node.go:360 +0x4a4
github.com/cosmos/cosmos-sdk/server.startCmtNode({0x38d6b30, 0x400135a0f0}, 0x40016ab180, {0x391c670, 0x40023b8008}, 0x40009798c0)
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:377 +0x308
github.com/cosmos/cosmos-sdk/server.startInProcess(_, {{{0x4000b6a870, 0x6}, 0x0, {0x4000b6b710, 0x7}, {0x302dafa, 0x1}, {0x302dafa, 0x1}, ...}, ...}, ...)
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:323 +0x11c
github.com/cosmos/cosmos-sdk/server.start(_, {{0x0, 0x0, 0x0}, {0x38f89d8, 0x40011d3800}, 0x0, {0x40007ac5d8, 0x7}, {0x391c5a8, ...}, ...}, ...)
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:240 +0x1d8
github.com/cosmos/cosmos-sdk/server.StartCmdWithOptions.func2.1()
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:198 +0x68
github.com/cosmos/cosmos-sdk/server.wrapCPUProfile(0x40009798c0, 0x400160f9d8)
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:570 +0x16c
github.com/cosmos/cosmos-sdk/server.StartCmdWithOptions.func2(0x40015da908, {0x575d860?, 0x0?, 0x0?})
	/go/pkg/mod/github.com/cosmos/[email protected]/server/start.go:197 +0x184
github.com/spf13/cobra.(*Command).execute(0x40015da908, {0x575d860, 0x0, 0x0})
	/go/pkg/mod/github.com/spf13/[email protected]/command.go:985 +0x840
github.com/spf13/cobra.(*Command).ExecuteC(0x4001793208)
	/go/pkg/mod/github.com/spf13/[email protected]/command.go:1117 +0x344
github.com/spf13/cobra.(*Command).Execute(...)
	/go/pkg/mod/github.com/spf13/[email protected]/command.go:1041
github.com/spf13/cobra.(*Command).ExecuteContext(...)
	/go/pkg/mod/github.com/spf13/[email protected]/command.go:1034
github.com/cosmos/cosmos-sdk/server/cmd.Execute(0x4001793208, {0x0, 0x0}, {0x4001182860, 0xc})
	/go/pkg/mod/github.com/cosmos/[email protected]/server/cmd/execute.go:34 +0x154
main.main()
	/go/src/github.com/noble-assets/noble/cmd/nobled/main.go:28 +0x3c
config.yaml
name: starship-localnet
version: 1.3.0
 
chains:
- id: noble-1
  name: noble
  image: ghcr.io/cosmology-tech/starship/noble:v8.0.3
  numValidators: 1
  ports:
    rest: 1313
    rpc: 26653
    faucet: 8003
- id: cosmoshub-4
  name: cosmoshub
  numValidators: 1
  ports:
    rest: 1317
    rpc: 26657
    faucet: 8007
 
relayers:
- name: noble-cosmos
  type: hermes
  replicas: 1
  chains:
    - noble-1
    - cosmoshub-4
 
explorer:
  enabled: true
  ports:
    rest: 8080
 
registry:
  enabled: true
  ports:
    rest: 8081

0xpatrickdev avatar Feb 25 '25 01:02 0xpatrickdev

Ahh this means that the noble chain just requires a custom script for create-genesis that does not have the params field in the change.

I think the new cosmos-sdk could have that requirement, maybe we need a new way to create changes to the create-genesis.sh script.

Anmol1696 avatar Apr 01 '25 09:04 Anmol1696

I think the issue is here: https://github.com/hyperweb-io/starship/blob/main/starship/charts/devnet/scripts/noble/update-genesis.sh#L189 and here: https://github.com/hyperweb-io/starship/blob/main/starship/charts/devnet/scripts/noble/update-genesis.sh#L136

I think this script needs to be fixed.

@0xpatrickdev if we can fix this, then we can add noble to the e2e tests as well, with something like: https://github.com/hyperweb-io/starship/blob/main/starship/tests/e2e/configs/one-chain.yaml

Anmol1696 avatar Apr 01 '25 09:04 Anmol1696

What we really need is a nobled that matches mainnet. I see v9.0.4 now.

Our current work depends on the swap and dollar modules.

dollar.noble.xyz v1.0.2 swap.noble.xyz v1.0.2

dckc avatar Jun 07 '25 20:06 dckc