Documentation ¶
Index ¶
Constants ¶
const ( // DefaultGRPCAddress defines the default address to bind the gRPC server to. DefaultGRPCAddress = "0.0.0.0:9090" // DefaultGRPCWebAddress defines the default address to bind the gRPC-web server to. DefaultGRPCWebAddress = "0.0.0.0:9091" )
const DefaultConfigTemplate = `` /* 8320-byte string literal not displayed */
Variables ¶
This section is empty.
Functions ¶
func SetConfigTemplate ¶
func SetConfigTemplate(customTemplate string)
SetConfigTemplate sets the custom app config template for the application
func WriteConfigFile ¶
func WriteConfigFile(configFilePath string, config interface{})
WriteConfigFile renders config using the template and writes it to configFilePath.
Types ¶
type APIConfig ¶
type APIConfig struct { // Enable defines if the API server should be enabled. Enable bool `mapstructure:"enable"` // Swagger defines if swagger documentation should automatically be registered. Swagger bool `mapstructure:"swagger"` // EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk) EnableUnsafeCORS bool `mapstructure:"enabled-unsafe-cors"` // Address defines the API server to listen on Address string `mapstructure:"address"` // MaxOpenConnections defines the number of maximum open connections MaxOpenConnections uint `mapstructure:"max-open-connections"` // RPCReadTimeout defines the Tendermint RPC read timeout (in seconds) RPCReadTimeout uint `mapstructure:"rpc-read-timeout"` // RPCWriteTimeout defines the Tendermint RPC write timeout (in seconds) RPCWriteTimeout uint `mapstructure:"rpc-write-timeout"` // RPCMaxBodyBytes defines the Tendermint maximum response body (in bytes) RPCMaxBodyBytes uint `mapstructure:"rpc-max-body-bytes"` }
APIConfig defines the API listener configuration.
type BaseConfig ¶
type BaseConfig struct { // The minimum gas prices a validator is willing to accept for processing a // transaction. A transaction's fees must meet the minimum of any denomination // specified in this config (e.g. 0.25token1;0.0001token2). MinGasPrices string `mapstructure:"minimum-gas-prices"` Pruning string `mapstructure:"pruning"` PruningKeepRecent string `mapstructure:"pruning-keep-recent"` PruningKeepEvery string `mapstructure:"pruning-keep-every"` PruningInterval string `mapstructure:"pruning-interval"` // HaltHeight contains a non-zero block height at which a node will gracefully // halt and shutdown that can be used to assist upgrades and testing. // // Note: Commitment of state will be attempted on the corresponding block. HaltHeight uint64 `mapstructure:"halt-height"` // HaltTime contains a non-zero minimum block time (in Unix seconds) at which // a node will gracefully halt and shutdown that can be used to assist // upgrades and testing. // // Note: Commitment of state will be attempted on the corresponding block. HaltTime uint64 `mapstructure:"halt-time"` // MinRetainBlocks defines the minimum block height offset from the current // block being committed, such that blocks past this offset may be pruned // from Tendermint. It is used as part of the process of determining the // ResponseCommit.RetainHeight value during ABCI Commit. A value of 0 indicates // that no blocks should be pruned. // // This configuration value is only responsible for pruning Tendermint blocks. // It has no bearing on application state pruning which is determined by the // "pruning-*" configurations. // // Note: Tendermint block pruning is dependant on this parameter in conunction // with the unbonding (safety threshold) period, state pruning and state sync // snapshot parameters to determine the correct minimum value of // ResponseCommit.RetainHeight. MinRetainBlocks uint64 `mapstructure:"min-retain-blocks"` // InterBlockCache enables inter-block caching. InterBlockCache bool `mapstructure:"inter-block-cache"` // IndexEvents defines the set of events in the form {eventType}.{attributeKey}, // which informs Tendermint what to index. If empty, all events will be indexed. IndexEvents []string `mapstructure:"index-events"` }
BaseConfig defines the server's basic configuration
type Config ¶
type Config struct { BaseConfig `mapstructure:",squash"` // Telemetry defines the application telemetry configuration Telemetry telemetry.Config `mapstructure:"telemetry"` API APIConfig `mapstructure:"api"` GRPC GRPCConfig `mapstructure:"grpc"` Rosetta RosettaConfig `mapstructure:"rosetta"` GRPCWeb GRPCWebConfig `mapstructure:"grpc-web"` StateSync StateSyncConfig `mapstructure:"state-sync"` }
Config defines the server's top level configuration
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns server's default configuration.
func ParseConfig ¶
ParseConfig retrieves the default environment configuration for the application.
func (*Config) GetMinGasPrices ¶
GetMinGasPrices returns the validator's minimum gas prices based on the set configuration.
func (*Config) SetMinGasPrices ¶
SetMinGasPrices sets the validator's minimum gas prices.
func (Config) ValidateBasic ¶
ValidateBasic returns an error if min-gas-prices field is empty in BaseConfig. Otherwise, it returns nil.
type GRPCConfig ¶
type GRPCConfig struct { // Enable defines if the gRPC server should be enabled. Enable bool `mapstructure:"enable"` // Address defines the API server to listen on Address string `mapstructure:"address"` }
GRPCConfig defines configuration for the gRPC server.
type GRPCWebConfig ¶
type GRPCWebConfig struct { // Enable defines if the gRPC-web should be enabled. Enable bool `mapstructure:"enable"` // Address defines the gRPC-web server to listen on Address string `mapstructure:"address"` // EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk) EnableUnsafeCORS bool `mapstructure:"enable-unsafe-cors"` }
GRPCWebConfig defines configuration for the gRPC-web server.
type RosettaConfig ¶
type RosettaConfig struct { // Address defines the API server to listen on Address string `mapstructure:"address"` // Blockchain defines the blockchain name // defaults to DefaultBlockchain Blockchain string `mapstructure:"blockchain"` // Network defines the network name Network string `mapstructure:"network"` // Retries defines the maximum number of retries // rosetta will do before quitting Retries int `mapstructure:"retries"` // Enable defines if the API server should be enabled. Enable bool `mapstructure:"enable"` // Offline defines if the server must be run in offline mode Offline bool `mapstructure:"offline"` }
RosettaConfig defines the Rosetta API listener configuration.
type StateSyncConfig ¶
type StateSyncConfig struct { // SnapshotInterval sets the interval at which state sync snapshots are taken. // 0 disables snapshots. Must be a multiple of PruningKeepEvery. SnapshotInterval uint64 `mapstructure:"snapshot-interval"` // SnapshotKeepRecent sets the number of recent state sync snapshots to keep. // 0 keeps all snapshots. SnapshotKeepRecent uint32 `mapstructure:"snapshot-keep-recent"` }
StateSyncConfig defines the state sync snapshot configuration.