From 0a9505fe3e35626c766eaae922e2d6cbf5388576 Mon Sep 17 00:00:00 2001 From: akhilkumarpilli Date: Thu, 31 Mar 2022 13:31:16 +0530 Subject: [PATCH 1/3] feat: api server flags in start command --- server/config/config.go | 5 ++++- server/start.go | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/server/config/config.go b/server/config/config.go index c85b89fe4023..8d4c003eae46 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -15,6 +15,9 @@ import ( const ( defaultMinGasPrices = "" + // DefaultAPIAddress defines the default address to bind the API server to. + DefaultAPIAddress = "tcp://0.0.0.0:1317" + // DefaultGRPCAddress defines the default address to bind the gRPC server to. DefaultGRPCAddress = "0.0.0.0:9090" @@ -223,7 +226,7 @@ func DefaultConfig() *Config { API: APIConfig{ Enable: false, Swagger: false, - Address: "tcp://0.0.0.0:1317", + Address: DefaultAPIAddress, MaxOpenConnections: 1000, RPCReadTimeout: 10, RPCMaxBodyBytes: 1000000, diff --git a/server/start.go b/server/start.go index c6c6b2b47f6a..51be21fea5da 100644 --- a/server/start.go +++ b/server/start.go @@ -59,6 +59,16 @@ const ( FlagStateSyncSnapshotInterval = "state-sync.snapshot-interval" FlagStateSyncSnapshotKeepRecent = "state-sync.snapshot-keep-recent" + // api-related flags + flagAPIEnable = "api.enable" + flagAPISwagger = "api.swagger" + flagAPIAddress = "api.address" + flagAPIMaxOpenConnections = "api.max-open-connections" + flagRPCReadTimeout = "api.rpc-read-timeout" + flagRPCWriteTimeout = "api.rpc-write-timeout" + flagRPCMaxBodyBytes = "api.rpc-max-body-bytes" + flagAPIEnableUnsafeCORS = "api.enabled-unsafe-cors" + // gRPC-related flags flagGRPCOnly = "grpc-only" flagGRPCEnable = "grpc.enable" @@ -153,6 +163,15 @@ is performed. Note, when enabled, gRPC will also be automatically enabled. cmd.Flags().Uint(FlagInvCheckPeriod, 0, "Assert registered invariants every N blocks") cmd.Flags().Uint64(FlagMinRetainBlocks, 0, "Minimum block height offset during ABCI commit to prune Tendermint blocks") + cmd.Flags().Bool(flagAPIEnable, false, "Define if the API server should be enabled") + cmd.Flags().Bool(flagAPISwagger, false, "Define if swagger documentation should automatically be registered (Note: api must also be enabled.)") + cmd.Flags().String(flagAPIAddress, config.DefaultAPIAddress, "the API server address to listen on") + cmd.Flags().Uint(flagAPIMaxOpenConnections, 1000, "Define the number of maximum open connections") + cmd.Flags().Uint(flagRPCReadTimeout, 10, "Define the Tendermint RPC read timeout (in seconds)") + cmd.Flags().Uint(flagRPCWriteTimeout, 0, "Define the Tendermint RPC write timeout (in seconds)") + cmd.Flags().Uint(flagRPCMaxBodyBytes, 1000000, "Define the Tendermint maximum response body (in bytes)") + cmd.Flags().Bool(flagAPIEnableUnsafeCORS, false, "Define if CORS should be enabled (unsafe - use it at your own risk)") + cmd.Flags().Bool(flagGRPCOnly, false, "Start the node in gRPC query only mode (no Tendermint process is started)") cmd.Flags().Bool(flagGRPCEnable, true, "Define if the gRPC server should be enabled") cmd.Flags().String(flagGRPCAddress, config.DefaultGRPCAddress, "the gRPC server address to listen on") From 6cc7e89ec410627cf93d5580e49ecf8662f1bc75 Mon Sep 17 00:00:00 2001 From: akhilkumarpilli Date: Thu, 31 Mar 2022 14:04:47 +0530 Subject: [PATCH 2/3] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba140fcca942..96e0489f1023 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -171,6 +171,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* [\#11511](https://github.com/cosmos/cosmos-sdk/pull/11511) Add api server flags to start command. * [\#11484](https://github.com/cosmos/cosmos-sdk/pull/11484) Implement getter for keyring backend option. * [\#11449](https://github.com/cosmos/cosmos-sdk/pull/11449) Improved error messages when node isn't synced. * [\#11349](https://github.com/cosmos/cosmos-sdk/pull/11349) Add `RegisterAminoMsg` function that checks that a msg name is <40 chars (else this would break ledger nano signing) then registers the concrete msg type with amino, it should be used for registering `sdk.Msg`s with amino instead of `cdc.RegisterConcrete`. From e8aa522d9c2d50b66f0eb4efe53f0bbd468cebdd Mon Sep 17 00:00:00 2001 From: akhilkumarpilli Date: Fri, 1 Apr 2022 11:48:58 +0530 Subject: [PATCH 3/3] make api server flags public --- server/start.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/server/start.go b/server/start.go index 51be21fea5da..f93ace066dd1 100644 --- a/server/start.go +++ b/server/start.go @@ -60,14 +60,14 @@ const ( FlagStateSyncSnapshotKeepRecent = "state-sync.snapshot-keep-recent" // api-related flags - flagAPIEnable = "api.enable" - flagAPISwagger = "api.swagger" - flagAPIAddress = "api.address" - flagAPIMaxOpenConnections = "api.max-open-connections" - flagRPCReadTimeout = "api.rpc-read-timeout" - flagRPCWriteTimeout = "api.rpc-write-timeout" - flagRPCMaxBodyBytes = "api.rpc-max-body-bytes" - flagAPIEnableUnsafeCORS = "api.enabled-unsafe-cors" + FlagAPIEnable = "api.enable" + FlagAPISwagger = "api.swagger" + FlagAPIAddress = "api.address" + FlagAPIMaxOpenConnections = "api.max-open-connections" + FlagRPCReadTimeout = "api.rpc-read-timeout" + FlagRPCWriteTimeout = "api.rpc-write-timeout" + FlagRPCMaxBodyBytes = "api.rpc-max-body-bytes" + FlagAPIEnableUnsafeCORS = "api.enabled-unsafe-cors" // gRPC-related flags flagGRPCOnly = "grpc-only" @@ -163,14 +163,14 @@ is performed. Note, when enabled, gRPC will also be automatically enabled. cmd.Flags().Uint(FlagInvCheckPeriod, 0, "Assert registered invariants every N blocks") cmd.Flags().Uint64(FlagMinRetainBlocks, 0, "Minimum block height offset during ABCI commit to prune Tendermint blocks") - cmd.Flags().Bool(flagAPIEnable, false, "Define if the API server should be enabled") - cmd.Flags().Bool(flagAPISwagger, false, "Define if swagger documentation should automatically be registered (Note: api must also be enabled.)") - cmd.Flags().String(flagAPIAddress, config.DefaultAPIAddress, "the API server address to listen on") - cmd.Flags().Uint(flagAPIMaxOpenConnections, 1000, "Define the number of maximum open connections") - cmd.Flags().Uint(flagRPCReadTimeout, 10, "Define the Tendermint RPC read timeout (in seconds)") - cmd.Flags().Uint(flagRPCWriteTimeout, 0, "Define the Tendermint RPC write timeout (in seconds)") - cmd.Flags().Uint(flagRPCMaxBodyBytes, 1000000, "Define the Tendermint maximum response body (in bytes)") - cmd.Flags().Bool(flagAPIEnableUnsafeCORS, false, "Define if CORS should be enabled (unsafe - use it at your own risk)") + cmd.Flags().Bool(FlagAPIEnable, false, "Define if the API server should be enabled") + cmd.Flags().Bool(FlagAPISwagger, false, "Define if swagger documentation should automatically be registered (Note: api must also be enabled.)") + cmd.Flags().String(FlagAPIAddress, config.DefaultAPIAddress, "the API server address to listen on") + cmd.Flags().Uint(FlagAPIMaxOpenConnections, 1000, "Define the number of maximum open connections") + cmd.Flags().Uint(FlagRPCReadTimeout, 10, "Define the Tendermint RPC read timeout (in seconds)") + cmd.Flags().Uint(FlagRPCWriteTimeout, 0, "Define the Tendermint RPC write timeout (in seconds)") + cmd.Flags().Uint(FlagRPCMaxBodyBytes, 1000000, "Define the Tendermint maximum response body (in bytes)") + cmd.Flags().Bool(FlagAPIEnableUnsafeCORS, false, "Define if CORS should be enabled (unsafe - use it at your own risk)") cmd.Flags().Bool(flagGRPCOnly, false, "Start the node in gRPC query only mode (no Tendermint process is started)") cmd.Flags().Bool(flagGRPCEnable, true, "Define if the gRPC server should be enabled")