Documentation
¶
Index ¶
- Constants
- type Client
- type ConsensusConfig
- type Duration
- type GenesisDoc
- type MempoolConfig
- type NetworkConfig
- type NodeConfig
- type P2PConfig
- type Server
- func (cfg *Server) ChainID() string
- func (cfg *Server) Marshal() (text []byte, err error)
- func (cfg *Server) ReadFile(path string) error
- func (cfg *Server) RootDir() string
- func (cfg *Server) SaveFile(filepath string) error
- func (cfg *Server) TMConfig() tmconfig.Config
- func (cfg *Server) Unmarshal(text []byte) error
Constants ¶
View Source
const ( // Default permissions for writing files // These are based on default umask settings // User+Group: rw, Other: r FilePerms = 0664 // User+Group: rwx, Other: rx DirPerms = 0775 FileName = "config.toml" DefaultDir = ".olfullnode" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Node NodeConfig `toml:"node"` BroadcastMode string `toml:"async"` Proof bool `toml:"proof"` }
type ConsensusConfig ¶
type ConsensusConfig struct { LogOutput string `toml:"log_output" desc:"Determines where consensus is logged (stdout|<filename>)"` LogLevel string `toml:"log_level" desc:"Determines the verbosity of consensus logs"` TimeoutPropose Duration `toml:"timeout_propose" desc:"All timeouts are in milliseconds"` TimeoutProposeDelta Duration `toml:"timeout_propose_delta"` TimeoutPrevote Duration `toml:"timeout_prevote"` TimeoutPrevoteDelta Duration `toml:"timeout_prevote_delta"` TimeoutPrecommit Duration `toml:"timeout_precommit"` TimeoutPrecommitDelta Duration `toml:"timeout_precommit_delta"` TimeoutCommit Duration `toml:"timeout_commit"` SkipTimeoutCommit bool `toml:"skip_timeout_commit" desc:"Make progress as soon as we have all precommits (as if TimeoutCommit = 0)"` CreateEmptyBlocks bool `toml:"create_empty_blocks" desc:"Should this node create empty blocks"` CreateEmptyBlocksInterval Duration `toml:"create_empty_blocks_interval" desc:"Interval between empty block creation in milliseconds"` PeerGossipSleepDuration Duration `toml:"peer_gossip_sleep_duration" desc:"Duration values in milliseconds"` PeerQueryMaj23SleepDuration Duration `toml:"peer_query_maj23_sleep_duration"` BlockTimeIota Duration `toml:"blocktime_iota" desc:"Block time parameter, corresponds to the minimum time increment between consecutive blocks"` }
ConsensusConfig handles consensus-specific options
func DefaultConsensusConfig ¶
func DefaultConsensusConfig() *ConsensusConfig
func (*ConsensusConfig) TMConfig ¶
func (cfg *ConsensusConfig) TMConfig() *tmconfig.ConsensusConfig
type Duration ¶
type Duration int64
Duration is a time.Duration that marshals and unmarshals with millisecond values
func (Duration) Nanoseconds ¶
Returns a nanosecond duration
type GenesisDoc ¶
type GenesisDoc = tmtypes.GenesisDoc
type MempoolConfig ¶
type MempoolConfig struct { Recheck bool `toml:"recheck"` Broadcast bool `toml:"broadcast"` Size int `toml:"size" desc:"Size of the mempool"` CacheSize int `toml:"cache_size"` }
MempoolConfig defines configuration options for the mempool
func DefaultMempoolConfig ¶
func DefaultMempoolConfig() *MempoolConfig
func (*MempoolConfig) TMConfig ¶
func (cfg *MempoolConfig) TMConfig() *tmconfig.MempoolConfig
type NetworkConfig ¶
type NetworkConfig struct { RPCAddress string `toml:"rpc_address"` P2PAddress string `toml:"p2p_address" desc:"Main address for P2P connections"` ExternalP2PAddress string `toml:"external_p2p_address" desc:"Address to advertise for incoming peers to connect to"` SDKAddress string `toml:"sdk_address"` BTCAddress string `toml:"btc_address"` ETHAddress string `toml:"eth_address"` OLVMAddress string `toml:"olvm_address"` OLVMProtocol string `toml:"olvm_protocol"` }
NetworkConfig exposes configuration files for the current
func DefaultNetworkConfig ¶
func DefaultNetworkConfig() *NetworkConfig
type NodeConfig ¶
type NodeConfig struct { NodeName string `toml:"node_name"` FastSync bool `` /* 143-byte string literal not displayed */ DB string `toml:"db" desc:"Specify what backend database to use (goleveldb|cleveldb)"` DBDir string `toml:"db_dir" desc:"Specify the application database directory. This is always relative to the root directory of the app."` // List of transaction tags to index in the db, allows them to be searched // by this parameter IndexTags []string `toml:"index_tags" desc:"List of transaction tags to index in the database, allows them to be searched by the specified tags"` // Tells the indexer to index all available tags, IndexTags has precedence // over IndexAllTAgs IndexAllTags bool `toml:"index_all_tags" desc:"Tells the indexer to index all available tags, IndexTags has precedence over IndexAllTags"` }
NodeConfig handles general configuration settings for the node
func DefaultNodeConfig ¶
func DefaultNodeConfig() *NodeConfig
type P2PConfig ¶
type P2PConfig struct { Seeds []string `toml:"seeds" desc:"List of seed nodes to connect to"` SeedMode bool `toml:"seed_mode" desc:"Enables seed mode, which will make the node crawl the network looking for peers"` PersistentPeers []string `toml:"persistent_peers" desc:"List of peers to maintain a persistent connection to"` UPNP bool `toml:"upnp" desc:"Enable UPNP port forwarding"` AddrBookStrict bool `` /* 155-byte string literal not displayed */ MaxNumInboundPeers int `toml:"max_num_inbound_peers" desc:"Max number of inbound peers"` MaxNumOutboundPeers int `toml:"max_num_outbound_peers" desc:"Max number of outbound peers to connect to, excluding persistent peers"` FlushThrottleTimeout Duration `toml:"flush_throttle_timeout" desc:"Time to wait before flushing messages out on the connection in milliseconds"` MaxPacketMsgPayloadSize int `toml:"max_packet_msg_payload_size" desc:"Max size of a message packet payload, in bytes"` SendRate int64 `toml:"send_rate" desc:"Rate at which packets can be sent, in bytes/second"` // Rate at which packets can be received, in bytes/second RecvRate int64 `toml:"recv_rate" desc:"Rate at which packets can be received, in bytes/second"` PexReactor bool `toml:"pex" desc:"Set true to enable the peer-exchange reactor"` PrivatePeerIDs []string `toml:"private_peer_ids" desc:"List of peer IDs to keep private (will not be gossiped to other peers)"` AllowDuplicateIP bool `toml:"allow_duplicate_ip" desc:"Toggle to disable guard against peers connecting from the same IP"` HandshakeTimeout Duration `toml:"handshake_timeout" desc:"In milliseconds"` DialTimeout Duration `toml:"dial_timeout" desc:"In milliseconds"` }
P2PConfig defines the options for P2P networking layer
func DefaultP2PConfig ¶
func DefaultP2PConfig() *P2PConfig
type Server ¶
type Server struct { Node *NodeConfig `toml:"node"` Network *NetworkConfig `toml:"network"` P2P *P2PConfig `toml:"p2p"` Mempool *MempoolConfig `toml:"mempool"` Consensus *ConsensusConfig `toml:"consensus"` // contains filtered or unexported fields }
Struct for holding the configuration details for the node
func DefaultServerConfig ¶
func DefaultServerConfig() *Server
Click to show internal directories.
Click to hide internal directories.