From 223908b4524ca80023063956f00c30d194fea9a0 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 15 Apr 2025 13:15:39 +0200 Subject: [PATCH 1/3] fix(server): improve flag parsing --- go.mod | 4 +++- go.sum | 2 -- server/start.go | 22 +++++++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index b55e4fcb..1abd30e3 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,8 @@ require ( replace github.com/btcsuite/btcd => github.com/btcsuite/btcd v0.22.0-beta +replace github.com/rollkit/rollkit => ../rollkit + exclude github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 require ( @@ -250,7 +252,7 @@ require ( github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.7.1 // indirect github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.6 // indirect + github.com/spf13/pflag v1.0.6 github.com/spf13/viper v1.19.0 // indirect github.com/stretchr/testify v1.10.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect diff --git a/go.sum b/go.sum index c1bf1bbe..07c092d7 100644 --- a/go.sum +++ b/go.sum @@ -1196,8 +1196,6 @@ github.com/rollkit/go-da v0.9.0 h1:ECpS7RSLE84w61Y5a93RfaZrAZKeiyfjVwGxzjsW2cU= github.com/rollkit/go-da v0.9.0/go.mod h1:LQImomegjZ/dEQLKDJA7RdUnOLINSZJwI7q1CvFPWJw= github.com/rollkit/go-sequencing v0.4.1 h1:P0x1wUFIAhdEeqUbrRAF343iExKhq9UkVOBbi45l750= github.com/rollkit/go-sequencing v0.4.1/go.mod h1:QnOk8mqyVgFWdMnjvZVBG4x8GC/TsRtoN5XdPZzfCSs= -github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312 h1:RApOeKJukKBisgZytbuhbLtShLdkTV/WJ5al9U2AGNg= -github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312/go.mod h1:vGAiHw/XSrYIcQz26TJX4rVpn4FNxe/W1x/ShQRnM/0= github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312 h1:JPcAH7Bt6rtgcCsKFdHt2nfFzpe2Z10xnnOt55uB/YQ= github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312/go.mod h1:0RhbqC8Is970KRhr6zPUQOZkmKt6/WqPRDQWfd2P7P0= github.com/rollkit/rollkit/da v0.0.0-20250411093031-de183ff4a312 h1:tDfepy5U5qZ8z4/3QhfSzk5Wy0EF5d13TOZU6JdXZDY= diff --git a/server/start.go b/server/start.go index 80289e05..6c61462f 100644 --- a/server/start.go +++ b/server/start.go @@ -29,6 +29,7 @@ import ( "github.com/hashicorp/go-metrics" "github.com/rollkit/go-execution-abci/adapter" "github.com/spf13/cobra" + "github.com/spf13/pflag" "github.com/cometbft/cometbft/mempool" "github.com/rollkit/go-execution-abci/rpc" @@ -59,7 +60,7 @@ const ( type StartCommandHandler = func(svrCtx *server.Context, clientCtx client.Context, appCreator sdktypes.AppCreator, withCmt bool, opts server.StartCmdOptions) error // StartHandler starts the Rollkit server with the provided application and options. -func StartHandler(rootCmd *cobra.Command) StartCommandHandler { +func StartHandler() StartCommandHandler { return func(svrCtx *server.Context, clientCtx client.Context, appCreator sdktypes.AppCreator, inProcess bool, opts server.StartCmdOptions) error { svrCfg, err := getAndValidateConfig(svrCtx) if err != nil { @@ -79,7 +80,7 @@ func StartHandler(rootCmd *cobra.Command) StartCommandHandler { emitServerInfoMetrics() - return startInProcess(rootCmd, svrCtx, svrCfg, clientCtx, app, metrics, opts) + return startInProcess(svrCtx, svrCfg, clientCtx, app, metrics, opts) } } @@ -106,7 +107,7 @@ func startApp(svrCtx *server.Context, appCreator sdktypes.AppCreator, opts serve return app, cleanupFn, nil } -func startInProcess(rootCmd *cobra.Command, svrCtx *server.Context, svrCfg serverconfig.Config, clientCtx client.Context, app sdktypes.Application, +func startInProcess(svrCtx *server.Context, svrCfg serverconfig.Config, clientCtx client.Context, app sdktypes.Application, metrics *telemetry.Metrics, opts server.StartCmdOptions, ) error { cmtCfg := svrCtx.Config @@ -119,7 +120,7 @@ func startInProcess(rootCmd *cobra.Command, svrCtx *server.Context, svrCfg serve svrCfg.GRPC.Enable = true } else { svrCtx.Logger.Info("starting node with ABCI CometBFT in-process") - _, rpcServer, cleanupFn, err := startNode(ctx, svrCtx.Logger, rootCmd, cmtCfg, app) + _, rpcServer, cleanupFn, err := startNode(ctx, svrCtx, cmtCfg, app) if err != nil { return err } @@ -257,11 +258,11 @@ func startTelemetry(cfg serverconfig.Config) (*telemetry.Metrics, error) { func startNode( ctx context.Context, - logger log.Logger, - rootCmd *cobra.Command, + srvCtx *server.Context, cfg *cmtcfg.Config, app sdktypes.Application, ) (rolllkitNode node.Node, rpcServer *rpc.RPCServer, cleanupFn func(), err error) { + logger := srvCtx.Logger.With("module", "rollkit") logger.Info("starting node with Rollkit in-process") pval := pvm.LoadOrGenFilePV(cfg.PrivValidatorKeyFile(), cfg.PrivValidatorStateFile()) @@ -272,7 +273,14 @@ func startNode( nodeKey := &key.NodeKey{PrivKey: signingKey, PubKey: signingKey.GetPublic()} - rollkitcfg, err := config.Load(rootCmd) + cmd := &cobra.Command{} + flags := &pflag.FlagSet{} + for key, value := range srvCtx.Viper.AllSettings() { + flags.Set(key, fmt.Sprintf("%v", value)) + } + cmd.Flags().AddFlagSet(flags) + + rollkitcfg, err := config.Load(cmd) if err != nil { return nil, nil, cleanupFn, err } From 10328c0ab2b60efb8d6fe83f32386e4f7e59a649 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 15 Apr 2025 13:17:00 +0200 Subject: [PATCH 2/3] go mod tidy --- go.mod | 2 -- go.sum | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 1abd30e3..dc48094d 100644 --- a/go.mod +++ b/go.mod @@ -13,8 +13,6 @@ require ( replace github.com/btcsuite/btcd => github.com/btcsuite/btcd v0.22.0-beta -replace github.com/rollkit/rollkit => ../rollkit - exclude github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 require ( diff --git a/go.sum b/go.sum index 07c092d7..c1bf1bbe 100644 --- a/go.sum +++ b/go.sum @@ -1196,6 +1196,8 @@ github.com/rollkit/go-da v0.9.0 h1:ECpS7RSLE84w61Y5a93RfaZrAZKeiyfjVwGxzjsW2cU= github.com/rollkit/go-da v0.9.0/go.mod h1:LQImomegjZ/dEQLKDJA7RdUnOLINSZJwI7q1CvFPWJw= github.com/rollkit/go-sequencing v0.4.1 h1:P0x1wUFIAhdEeqUbrRAF343iExKhq9UkVOBbi45l750= github.com/rollkit/go-sequencing v0.4.1/go.mod h1:QnOk8mqyVgFWdMnjvZVBG4x8GC/TsRtoN5XdPZzfCSs= +github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312 h1:RApOeKJukKBisgZytbuhbLtShLdkTV/WJ5al9U2AGNg= +github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312/go.mod h1:vGAiHw/XSrYIcQz26TJX4rVpn4FNxe/W1x/ShQRnM/0= github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312 h1:JPcAH7Bt6rtgcCsKFdHt2nfFzpe2Z10xnnOt55uB/YQ= github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312/go.mod h1:0RhbqC8Is970KRhr6zPUQOZkmKt6/WqPRDQWfd2P7P0= github.com/rollkit/rollkit/da v0.0.0-20250411093031-de183ff4a312 h1:tDfepy5U5qZ8z4/3QhfSzk5Wy0EF5d13TOZU6JdXZDY= From 1602d371944350663d69e446438fd9b31ab7a575 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Wed, 16 Apr 2025 10:13:21 +0200 Subject: [PATCH 3/3] updates --- go.mod | 8 ++++---- go.sum | 12 ++++++------ server/start.go | 11 +---------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index dc48094d..cecd81ca 100644 --- a/go.mod +++ b/go.mod @@ -6,9 +6,9 @@ require ( github.com/cosmos/cosmos-sdk v0.50.13 github.com/gorilla/rpc v1.2.1 github.com/rollkit/go-da v0.9.0 - github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312 - github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312 - github.com/rollkit/rollkit/da v0.0.0-20250411093031-de183ff4a312 + github.com/rollkit/rollkit v0.14.2-0.20250416080857-e320b1e7f96c + github.com/rollkit/rollkit/core v0.0.0-20250416080857-e320b1e7f96c + github.com/rollkit/rollkit/da v0.0.0-20250416080857-e320b1e7f96c ) replace github.com/btcsuite/btcd => github.com/btcsuite/btcd v0.22.0-beta @@ -250,7 +250,7 @@ require ( github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.7.1 // indirect github.com/spf13/cobra v1.9.1 - github.com/spf13/pflag v1.0.6 + github.com/spf13/pflag v1.0.6 // indirect github.com/spf13/viper v1.19.0 // indirect github.com/stretchr/testify v1.10.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect diff --git a/go.sum b/go.sum index c1bf1bbe..9c374ce7 100644 --- a/go.sum +++ b/go.sum @@ -1196,12 +1196,12 @@ github.com/rollkit/go-da v0.9.0 h1:ECpS7RSLE84w61Y5a93RfaZrAZKeiyfjVwGxzjsW2cU= github.com/rollkit/go-da v0.9.0/go.mod h1:LQImomegjZ/dEQLKDJA7RdUnOLINSZJwI7q1CvFPWJw= github.com/rollkit/go-sequencing v0.4.1 h1:P0x1wUFIAhdEeqUbrRAF343iExKhq9UkVOBbi45l750= github.com/rollkit/go-sequencing v0.4.1/go.mod h1:QnOk8mqyVgFWdMnjvZVBG4x8GC/TsRtoN5XdPZzfCSs= -github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312 h1:RApOeKJukKBisgZytbuhbLtShLdkTV/WJ5al9U2AGNg= -github.com/rollkit/rollkit v0.14.2-0.20250411093031-de183ff4a312/go.mod h1:vGAiHw/XSrYIcQz26TJX4rVpn4FNxe/W1x/ShQRnM/0= -github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312 h1:JPcAH7Bt6rtgcCsKFdHt2nfFzpe2Z10xnnOt55uB/YQ= -github.com/rollkit/rollkit/core v0.0.0-20250411093031-de183ff4a312/go.mod h1:0RhbqC8Is970KRhr6zPUQOZkmKt6/WqPRDQWfd2P7P0= -github.com/rollkit/rollkit/da v0.0.0-20250411093031-de183ff4a312 h1:tDfepy5U5qZ8z4/3QhfSzk5Wy0EF5d13TOZU6JdXZDY= -github.com/rollkit/rollkit/da v0.0.0-20250411093031-de183ff4a312/go.mod h1:2VJGEF0xTVaz7Jwg1svjUM5Q2OSmDyRX82bdAXQjyvg= +github.com/rollkit/rollkit v0.14.2-0.20250416080857-e320b1e7f96c h1:fW4H7N/5ecanBGC5i/LncwnhTk9HHCxqaX6ZfQMLuGE= +github.com/rollkit/rollkit v0.14.2-0.20250416080857-e320b1e7f96c/go.mod h1:vGAiHw/XSrYIcQz26TJX4rVpn4FNxe/W1x/ShQRnM/0= +github.com/rollkit/rollkit/core v0.0.0-20250416080857-e320b1e7f96c h1:1sF+rG0N17KSfEEIP9+ekDtm78Y5K2a0AIu5GvVxqM0= +github.com/rollkit/rollkit/core v0.0.0-20250416080857-e320b1e7f96c/go.mod h1:0RhbqC8Is970KRhr6zPUQOZkmKt6/WqPRDQWfd2P7P0= +github.com/rollkit/rollkit/da v0.0.0-20250416080857-e320b1e7f96c h1:yw/yDE4QcwEP0RRf3q+0IrG/kqQkWgxCPBRWdNoGnh0= +github.com/rollkit/rollkit/da v0.0.0-20250416080857-e320b1e7f96c/go.mod h1:2VJGEF0xTVaz7Jwg1svjUM5Q2OSmDyRX82bdAXQjyvg= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= diff --git a/server/start.go b/server/start.go index 6c61462f..dbda517d 100644 --- a/server/start.go +++ b/server/start.go @@ -28,8 +28,6 @@ import ( genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" "github.com/hashicorp/go-metrics" "github.com/rollkit/go-execution-abci/adapter" - "github.com/spf13/cobra" - "github.com/spf13/pflag" "github.com/cometbft/cometbft/mempool" "github.com/rollkit/go-execution-abci/rpc" @@ -273,14 +271,7 @@ func startNode( nodeKey := &key.NodeKey{PrivKey: signingKey, PubKey: signingKey.GetPublic()} - cmd := &cobra.Command{} - flags := &pflag.FlagSet{} - for key, value := range srvCtx.Viper.AllSettings() { - flags.Set(key, fmt.Sprintf("%v", value)) - } - cmd.Flags().AddFlagSet(flags) - - rollkitcfg, err := config.Load(cmd) + rollkitcfg, err := config.LoadFromViper(srvCtx.Viper) if err != nil { return nil, nil, cleanupFn, err }