Documentation
¶
Index ¶
- Constants
- func GetAPINamespaces() []string
- func GetDefaultAPINamespaces() []string
- func GetDefaultWSOrigins() []string
- func OpenDB(_ types.AppOptions, home string, backendType dbm.BackendType) (dbm.DB, error)
- func OpenReadOnlyDB(home string, backendType dbm.BackendType) (dbm.DB, error)
- type Config
- type EVMConfig
- type JSONRPCConfig
- type TLSConfig
Constants ¶
const ( // ServerStartTime defines the time duration that the server need to stay running after startup // for the startup be considered successful ServerStartTime = 5 * time.Second // DefaultAPIEnable is the default value for the parameter that defines if the cosmos REST API server is enabled DefaultAPIEnable = false // DefaultGRPCEnable is the default value for the parameter that defines if the gRPC server is enabled DefaultGRPCEnable = false // DefaultGRPCWebEnable is the default value for the parameter that defines if the gRPC web server is enabled DefaultGRPCWebEnable = false // DefaultJSONRPCEnable is the default value for the parameter that defines if the JSON-RPC server is enabled DefaultJSONRPCEnable = false // DefaultRosettaEnable is the default value for the parameter that defines if the Rosetta API server is enabled DefaultRosettaEnable = false // DefaultTelemetryEnable is the default value for the parameter that defines if the telemetry is enabled DefaultTelemetryEnable = false // DefaultGRPCAddress is the default address the gRPC server binds to. DefaultGRPCAddress = "0.0.0.0:9900" // DefaultJSONRPCAddress is the default address the JSON-RPC server binds to. DefaultJSONRPCAddress = "127.0.0.1:8545" // DefaultJSONRPCWsAddress is the default address the JSON-RPC WebSocket server binds to. DefaultJSONRPCWsAddress = "127.0.0.1:8546" // DefaultJsonRPCMetricsAddress is the default address the JSON-RPC Metrics server binds to. DefaultJSONRPCMetricsAddress = "127.0.0.1:6065" // DefaultEVMTracer is the default vm.Tracer type DefaultEVMTracer = "" // DefaultEnablePreimageRecording is the default value for EnablePreimageRecording DefaultEnablePreimageRecording = false // DefaultFixRevertGasRefundHeight is the default height at which to overwrite gas refund DefaultFixRevertGasRefundHeight = 0 // DefaultMaxTxGasWanted is the default gas wanted for each eth tx returned in ante handler in check tx mode DefaultMaxTxGasWanted = 0 // DefaultEVMChainID is the default EVM Chain ID if one is not provided DefaultEVMChainID = 262144 // DefaultGasCap is the default cap on gas that can be used in eth_call/estimateGas DefaultGasCap uint64 = 25_000_000 // DefaultJSONRPCAllowInsecureUnlock is true DefaultJSONRPCAllowInsecureUnlock bool = true // DefaultFilterCap is the default cap for total number of filters that can be created DefaultFilterCap int32 = 200 // DefaultFeeHistoryCap is the default cap for total number of blocks that can be fetched DefaultFeeHistoryCap int32 = 100 // DefaultLogsCap is the default cap of results returned from single 'eth_getLogs' query DefaultLogsCap int32 = 10000 // DefaultBlockRangeCap is the default cap of block range allowed for 'eth_getLogs' query DefaultBlockRangeCap int32 = 10000 // DefaultEVMTimeout is the default timeout for eth_call DefaultEVMTimeout = 5 * time.Second // DefaultTxFeeCap is the default tx-fee cap for sending a transaction DefaultTxFeeCap float64 = 1.0 // DefaultHTTPTimeout is the default read/write timeout of the http json-rpc server DefaultHTTPTimeout = 30 * time.Second // DefaultHTTPIdleTimeout is the default idle timeout of the http json-rpc server DefaultHTTPIdleTimeout = 120 * time.Second // DefaultAllowUnprotectedTxs value is false DefaultAllowUnprotectedTxs = false // DefaultBatchRequestLimit is the default maximum batch request limit. // https://github.com/ethereum/go-ethereum/blob/v1.15.11/node/defaults.go#L67 DefaultBatchRequestLimit = 1000 // DefaultBatchResponseMaxSize is the default maximum batch response size. // https://github.com/ethereum/go-ethereum/blob/v1.15.11/node/defaults.go#L68 DefaultBatchResponseMaxSize = 25 * 1000 * 1000 // DefaultMaxOpenConnections represents the amount of open connections (unlimited = 0) DefaultMaxOpenConnections = 0 // DefaultGasAdjustment value to use as default in gas-adjustment flag DefaultGasAdjustment = 1.2 // DefaultWSOrigins is the default origin for WebSocket connections DefaultWSOrigins = "127.0.0.1" // DefaultEnableProfiling toggles whether profiling is enabled in the `debug` namespace DefaultEnableProfiling = false )
const DefaultEVMConfigTemplate = `` /* 4779-byte string literal not displayed */
DefaultEVMConfigTemplate defines the configuration template for the EVM RPC configuration.
Variables ¶
This section is empty.
Functions ¶
func GetAPINamespaces ¶
func GetAPINamespaces() []string
GetAPINamespaces returns the all the available JSON-RPC API namespaces.
func GetDefaultAPINamespaces ¶
func GetDefaultAPINamespaces() []string
GetDefaultAPINamespaces returns the default list of JSON-RPC namespaces that should be enabled
func GetDefaultWSOrigins ¶ added in v0.3.0
func GetDefaultWSOrigins() []string
GetDefaultWSOrigins returns the default WebSocket origins.
func OpenDB ¶ added in v0.4.0
func OpenDB(_ types.AppOptions, home string, backendType dbm.BackendType) (dbm.DB, error)
OpenDB opens a database based on the specified backend type. It takes the home directory where the database data will be stored, along with the backend type. It opens a database named "application" using the specified backend type and the data directory. It returns the opened database and an error (if any). If the database opens successfully, the error will be nil.
NOTE: this is included in builds without rocksdb. When building the binary with rocksdb, the code in 'rocksdb.go' will be included instead of this
func OpenReadOnlyDB ¶ added in v0.4.0
OpenReadOnlyDB opens rocksdb backend in read-only mode.
Types ¶
type Config ¶
type Config struct { config.Config `mapstructure:",squash"` EVM EVMConfig `mapstructure:"evm"` JSONRPC JSONRPCConfig `mapstructure:"json-rpc"` TLS TLSConfig `mapstructure:"tls"` }
Config defines the server's top level configuration. It includes the default app config from the SDK as well as the EVM configuration to enable the JSON-RPC APIs.
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns server's default configuration.
func (Config) ValidateBasic ¶
ValidateBasic returns an error any of the application configuration fields are invalid
type EVMConfig ¶
type EVMConfig struct { // Tracer defines vm.Tracer type that the EVM will use if the node is run in // trace mode. Default: 'json'. Tracer string `mapstructure:"tracer"` // MaxTxGasWanted defines the gas wanted for each eth tx returned in ante handler in check tx mode. MaxTxGasWanted uint64 `mapstructure:"max-tx-gas-wanted"` // Enables tracking of SHA3 preimages in the VM EnablePreimageRecording bool `mapstructure:"cache-preimage"` // EVMChainID defines the EIP-155 replay-protection chain ID. EVMChainID uint64 `mapstructure:"evm-chain-id"` }
EVMConfig defines the application configuration values for the EVM.
func DefaultEVMConfig ¶
func DefaultEVMConfig() *EVMConfig
DefaultEVMConfig returns the default EVM configuration
type JSONRPCConfig ¶
type JSONRPCConfig struct { // API defines a list of JSON-RPC namespaces that should be enabled API []string `mapstructure:"api"` // Address defines the HTTP server to listen on Address string `mapstructure:"address"` // WsAddress defines the WebSocket server to listen on WsAddress string `mapstructure:"ws-address"` // GasCap is the global gas cap for eth-call variants. GasCap uint64 `mapstructure:"gas-cap"` // AllowInsecureUnlock toggles if account unlocking is enabled when account-related RPCs are exposed by http. AllowInsecureUnlock bool `mapstructure:"allow-insecure-unlock"` // EVMTimeout is the global timeout for eth-call. EVMTimeout time.Duration `mapstructure:"evm-timeout"` // TxFeeCap is the global tx-fee cap for send transaction TxFeeCap float64 `mapstructure:"txfee-cap"` // FilterCap is the global cap for total number of filters that can be created. FilterCap int32 `mapstructure:"filter-cap"` // FeeHistoryCap is the global cap for total number of blocks that can be fetched FeeHistoryCap int32 `mapstructure:"feehistory-cap"` // Enable defines if the EVM RPC server should be enabled. Enable bool `mapstructure:"enable"` // LogsCap defines the max number of results can be returned from single `eth_getLogs` query. LogsCap int32 `mapstructure:"logs-cap"` // BlockRangeCap defines the max block range allowed for `eth_getLogs` query. BlockRangeCap int32 `mapstructure:"block-range-cap"` // HTTPTimeout is the read/write timeout of http json-rpc server. HTTPTimeout time.Duration `mapstructure:"http-timeout"` // HTTPIdleTimeout is the idle timeout of http json-rpc server. HTTPIdleTimeout time.Duration `mapstructure:"http-idle-timeout"` // AllowUnprotectedTxs restricts unprotected (non EIP155 signed) transactions to be submitted via // the node's RPC when global parameter is disabled. AllowUnprotectedTxs bool `mapstructure:"allow-unprotected-txs"` // BatchRequestLimit is the maximum number of requests in a batch. BatchRequestLimit int `mapstructure:"batch-request-limit"` // BatchResponseMaxSize is the maximum number of bytes returned from a batched rpc call. BatchResponseMaxSize int `mapstructure:"batch-response-max-size"` // MaxOpenConnections sets the maximum number of simultaneous connections // for the server listener. MaxOpenConnections int `mapstructure:"max-open-connections"` // EnableIndexer defines if enable the custom indexer service. EnableIndexer bool `mapstructure:"enable-indexer"` // MetricsAddress defines the metrics server to listen on MetricsAddress string `mapstructure:"metrics-address"` // FixRevertGasRefundHeight defines the upgrade height for fix of revert gas refund logic when transaction reverted FixRevertGasRefundHeight int64 `mapstructure:"fix-revert-gas-refund-height"` // WSOrigins defines the allowed origins for WebSocket connections WSOrigins []string `mapstructure:"ws-origins"` // EnableProfiling enables the profiling in the `debug` namespace. SHOULD NOT be used on public tracing nodes EnableProfiling bool `mapstructure:"enable-profiling"` }
JSONRPCConfig defines configuration for the EVM RPC server.
func DefaultJSONRPCConfig ¶
func DefaultJSONRPCConfig() *JSONRPCConfig
DefaultJSONRPCConfig returns an EVM config with the JSON-RPC API enabled by default
func (JSONRPCConfig) Validate ¶
func (c JSONRPCConfig) Validate() error
Validate returns an error if the JSON-RPC configuration fields are invalid.
type TLSConfig ¶
type TLSConfig struct { // CertificatePath the file path for the certificate .pem file CertificatePath string `mapstructure:"certificate-path"` // KeyPath the file path for the key .pem file KeyPath string `mapstructure:"key-path"` }
TLSConfig defines the certificate and matching private key for the server.
func DefaultTLSConfig ¶
func DefaultTLSConfig() *TLSConfig
DefaultTLSConfig returns the default TLS configuration