refactor(server/v2): add missing comet flags (#21123)
This commit is contained in:
parent
453c86ebf1
commit
98e09a720d
@ -41,7 +41,7 @@ require (
|
||||
buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.2-20240701160653-fedbb9acfd2f.2 // indirect
|
||||
buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2 // indirect
|
||||
cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect
|
||||
github.com/DataDog/zstd v1.5.5 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
|
||||
@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e
|
||||
buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc=
|
||||
cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
|
||||
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI=
|
||||
cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM=
|
||||
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
|
||||
12
server/v2/api/grpc/flags.go
Normal file
12
server/v2/api/grpc/flags.go
Normal file
@ -0,0 +1,12 @@
|
||||
package grpc
|
||||
|
||||
import "fmt"
|
||||
|
||||
// start flags are prefixed with the server name
|
||||
// as the config in prefixed with the server name
|
||||
// this allows viper to properly bind the flags
|
||||
func prefix(f string) string {
|
||||
return fmt.Sprintf("%s.%s", ServerName, f)
|
||||
}
|
||||
|
||||
var FlagAddress = prefix("address")
|
||||
@ -24,8 +24,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
ServerName = "grpc"
|
||||
|
||||
BlockHeightHeader = "x-cosmos-block-height"
|
||||
FlagAddress = "address"
|
||||
)
|
||||
|
||||
type Server[T transaction.Tx] struct {
|
||||
@ -74,16 +75,8 @@ func (s *Server[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger log.Logge
|
||||
}
|
||||
|
||||
func (s *Server[T]) StartCmdFlags() *pflag.FlagSet {
|
||||
flags := pflag.NewFlagSet("grpc", pflag.ExitOnError)
|
||||
|
||||
// start flags are prefixed with the server name
|
||||
// as the config in prefixed with the server name
|
||||
// this allows viper to properly bind the flags
|
||||
prefix := func(f string) string {
|
||||
return fmt.Sprintf("%s.%s", s.Name(), f)
|
||||
}
|
||||
|
||||
flags.String(prefix(FlagAddress), "localhost:9090", "Listen address")
|
||||
flags := pflag.NewFlagSet(s.Name(), pflag.ExitOnError)
|
||||
flags.String(FlagAddress, "localhost:9090", "Listen address")
|
||||
return flags
|
||||
}
|
||||
|
||||
@ -151,7 +144,7 @@ func getHeightFromCtx(ctx context.Context) (uint64, error) {
|
||||
}
|
||||
|
||||
func (s *Server[T]) Name() string {
|
||||
return "grpc"
|
||||
return ServerName
|
||||
}
|
||||
|
||||
func (s *Server[T]) Config() any {
|
||||
|
||||
@ -21,6 +21,8 @@ import (
|
||||
var _ serverv2.ServerComponent[transaction.Tx] = (*GRPCGatewayServer[transaction.Tx])(nil)
|
||||
|
||||
const (
|
||||
ServerName = "grpc-gateway"
|
||||
|
||||
// GRPCBlockHeightHeader is the gRPC header for block height.
|
||||
GRPCBlockHeightHeader = "x-cosmos-block-height"
|
||||
)
|
||||
@ -64,7 +66,7 @@ func New[T transaction.Tx](grpcSrv *grpc.Server, ir jsonpb.AnyResolver, cfgOptio
|
||||
}
|
||||
|
||||
func (g *GRPCGatewayServer[T]) Name() string {
|
||||
return "grpc-gateway"
|
||||
return ServerName
|
||||
}
|
||||
|
||||
func (s *GRPCGatewayServer[T]) Config() any {
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
package cometbft
|
||||
|
||||
import "github.com/spf13/cobra"
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// Query flags
|
||||
const (
|
||||
@ -38,12 +42,19 @@ func AddQueryFlagsToCmd(cmd *cobra.Command) {
|
||||
_ = cmd.MarkFlagRequired(FlagChainID)
|
||||
}
|
||||
|
||||
// start flags are prefixed with the server name
|
||||
// as the config in prefixed with the server name
|
||||
// this allows viper to properly bind the flags
|
||||
func prefix(f string) string {
|
||||
return fmt.Sprintf("%s.%s", ServerName, f)
|
||||
}
|
||||
|
||||
// Server flags
|
||||
const (
|
||||
Standalone = "standalone"
|
||||
FlagAddress = "address"
|
||||
FlagTransport = "transport"
|
||||
FlagHaltHeight = "halt-height"
|
||||
FlagHaltTime = "halt-time"
|
||||
FlagTrace = "trace"
|
||||
var (
|
||||
Standalone = prefix("standalone")
|
||||
FlagAddress = prefix("address")
|
||||
FlagTransport = prefix("transport")
|
||||
FlagHaltHeight = prefix("halt-height")
|
||||
FlagHaltTime = prefix("halt-time")
|
||||
FlagTrace = prefix("trace")
|
||||
)
|
||||
|
||||
@ -49,7 +49,7 @@ require (
|
||||
buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2 // indirect
|
||||
cosmossdk.io/collections v0.4.0 // indirect
|
||||
cosmossdk.io/depinject v1.0.0 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect
|
||||
cosmossdk.io/math v1.3.0 // indirect
|
||||
cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect
|
||||
cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 // indirect
|
||||
|
||||
@ -10,8 +10,8 @@ cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
|
||||
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
|
||||
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
|
||||
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI=
|
||||
cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM=
|
||||
cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE=
|
||||
|
||||
@ -28,6 +28,8 @@ import (
|
||||
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
|
||||
)
|
||||
|
||||
const ServerName = "comet"
|
||||
|
||||
var (
|
||||
_ serverv2.ServerComponent[transaction.Tx] = (*CometBFTServer[transaction.Tx])(nil)
|
||||
_ serverv2.HasCLICommands = (*CometBFTServer[transaction.Tx])(nil)
|
||||
@ -107,7 +109,7 @@ func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger l
|
||||
}
|
||||
|
||||
func (s *CometBFTServer[T]) Name() string {
|
||||
return "comet"
|
||||
return ServerName
|
||||
}
|
||||
|
||||
func (s *CometBFTServer[T]) Start(ctx context.Context) error {
|
||||
@ -193,21 +195,21 @@ func getGenDocProvider(cfg *cmtcfg.Config) func() (node.ChecksummedGenesisDoc, e
|
||||
}
|
||||
|
||||
func (s *CometBFTServer[T]) StartCmdFlags() *pflag.FlagSet {
|
||||
flags := pflag.NewFlagSet("cometbft", pflag.ExitOnError)
|
||||
flags := pflag.NewFlagSet(s.Name(), pflag.ExitOnError)
|
||||
|
||||
// start flags are prefixed with the server name
|
||||
// as the config in prefixed with the server name
|
||||
// this allows viper to properly bind the flags
|
||||
prefix := func(f string) string {
|
||||
return fmt.Sprintf("%s.%s", s.Name(), f)
|
||||
}
|
||||
flags.String(FlagAddress, "tcp://127.0.0.1:26658", "Listen address")
|
||||
flags.String(FlagTransport, "socket", "Transport protocol: socket, grpc")
|
||||
flags.Uint64(FlagHaltHeight, 0, "Block height at which to gracefully halt the chain and shutdown the node")
|
||||
flags.Uint64(FlagHaltTime, 0, "Minimum block time (in Unix seconds) at which to gracefully halt the chain and shutdown the node")
|
||||
flags.Bool(FlagTrace, false, "Provide full stack traces for errors in ABCI Log")
|
||||
flags.Bool(Standalone, false, "Run app without CometBFT")
|
||||
|
||||
// add comet flags, we use an empty command to avoid duplicating CometBFT's AddNodeFlags.
|
||||
// we can then merge the flag sets.
|
||||
emptyCmd := &cobra.Command{}
|
||||
cmtcmd.AddNodeFlags(emptyCmd)
|
||||
flags.AddFlagSet(emptyCmd.Flags())
|
||||
|
||||
flags.String(prefix(FlagAddress), "tcp://127.0.0.1:26658", "Listen address")
|
||||
flags.String(prefix(FlagTransport), "socket", "Transport protocol: socket, grpc")
|
||||
flags.Uint64(prefix(FlagHaltHeight), 0, "Block height at which to gracefully halt the chain and shutdown the node")
|
||||
flags.Uint64(prefix(FlagHaltTime), 0, "Minimum block time (in Unix seconds) at which to gracefully halt the chain and shutdown the node")
|
||||
flags.Bool(prefix(FlagTrace), false, "Provide full stack traces for errors in ABCI Log")
|
||||
flags.Bool(prefix(Standalone), false, "Run app without CometBFT")
|
||||
return flags
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect
|
||||
github.com/DataDog/datadog-go v3.2.0+incompatible // indirect
|
||||
github.com/DataDog/zstd v1.5.5 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI=
|
||||
cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
|
||||
@ -55,7 +55,7 @@ require (
|
||||
cloud.google.com/go/storage v1.42.0 // indirect
|
||||
cosmossdk.io/collections v0.4.0 // indirect
|
||||
cosmossdk.io/errors v1.0.1 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect
|
||||
cosmossdk.io/schema v0.1.1 // indirect
|
||||
cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 // indirect
|
||||
cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 // indirect
|
||||
|
||||
@ -196,8 +196,8 @@ cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
|
||||
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
|
||||
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
|
||||
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI=
|
||||
cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM=
|
||||
cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE=
|
||||
|
||||
@ -5,7 +5,7 @@ go 1.21
|
||||
require (
|
||||
cosmossdk.io/core v0.12.0
|
||||
cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5
|
||||
cosmossdk.io/log v1.3.1
|
||||
github.com/cockroachdb/pebble v1.1.0
|
||||
github.com/cosmos/gogoproto v1.5.0
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
|
||||
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
|
||||
cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI=
|
||||
cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM=
|
||||
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
|
||||
Loading…
Reference in New Issue
Block a user