Documentation ¶
Index ¶
- Constants
- Variables
- func AddFlags(cmd *cobra.Command)
- func GetMultiAddr(addr string) (multiaddr.Multiaddr, error)
- func GetNodeConfig(nodeConf *NodeConfig, cmConf *cmcfg.Config)
- func TranslateAddresses(conf *NodeConfig) error
- type BlockManagerConfig
- type HeaderConfig
- type NodeConfig
- type P2PConfig
- type RPCConfig
Constants ¶
const ( // DefaultListenAddress is a default listen address for P2P client. DefaultListenAddress = "/ip4/0.0.0.0/tcp/7676" // Version is the current rollkit version // Please keep updated with each new release Version = "0.12.0" )
Variables ¶
var DefaultNodeConfig = NodeConfig{ P2P: P2PConfig{ ListenAddress: DefaultListenAddress, Seeds: "", }, Aggregator: false, LazyAggregator: false, BlockManagerConfig: BlockManagerConfig{ BlockTime: 1 * time.Second, DABlockTime: 15 * time.Second, }, DAAddress: ":26650", Light: false, HeaderConfig: HeaderConfig{ TrustedHash: "", }, }
DefaultNodeConfig keeps default values of NodeConfig
Functions ¶
func AddFlags ¶
AddFlags adds Rollkit specific configuration options to cobra Command.
This function is called in cosmos-sdk.
func GetMultiAddr ¶ added in v0.10.5
GetMultiAddr converts single Cosmos-style network address into Multiaddr. Input format: [protocol://][<NODE_ID>@]<IPv4>:<PORT>
func GetNodeConfig ¶ added in v0.10.5
func GetNodeConfig(nodeConf *NodeConfig, cmConf *cmcfg.Config)
GetNodeConfig translates Tendermint's configuration into Rollkit configuration.
This method only translates configuration, and doesn't verify it. If some option is missing in Tendermint's config, it's skipped during translation.
func TranslateAddresses ¶ added in v0.10.5
func TranslateAddresses(conf *NodeConfig) error
TranslateAddresses updates conf by changing Cosmos-style addresses to Multiaddr format.
Types ¶
type BlockManagerConfig ¶
type BlockManagerConfig struct { // BlockTime defines how often new blocks are produced BlockTime time.Duration `mapstructure:"block_time"` // DABlockTime informs about block time of underlying data availability layer DABlockTime time.Duration `mapstructure:"da_block_time"` // DAStartHeight allows skipping first DAStartHeight-1 blocks when querying for blocks. DAStartHeight uint64 `mapstructure:"da_start_height"` }
BlockManagerConfig consists of all parameters required by BlockManagerConfig
type HeaderConfig ¶ added in v0.7.0
type HeaderConfig struct {
TrustedHash string `mapstructure:"trusted_hash"`
}
HeaderConfig allows node to pass the initial trusted header hash to start the header exchange service
type NodeConfig ¶
type NodeConfig struct { // parameters below are translated from existing config RootDir string DBPath string P2P P2PConfig RPC RPCConfig // parameters below are Rollkit specific and read from config Aggregator bool `mapstructure:"aggregator"` BlockManagerConfig `mapstructure:",squash"` DAAddress string `mapstructure:"da_address"` Light bool `mapstructure:"light"` HeaderConfig `mapstructure:",squash"` LazyAggregator bool `mapstructure:"lazy_aggregator"` }
NodeConfig stores Rollkit node configuration.
func (*NodeConfig) GetViperConfig ¶
func (nc *NodeConfig) GetViperConfig(v *viper.Viper) error
GetViperConfig reads configuration parameters from Viper instance.
This method is called in cosmos-sdk.
type P2PConfig ¶
type P2PConfig struct { ListenAddress string // Address to listen for incoming connections Seeds string // Comma separated list of seed nodes to connect to BlockedPeers string // Comma separated list of nodes to ignore AllowedPeers string // Comma separated list of nodes to whitelist }
P2PConfig stores configuration related to peer-to-peer networking.
type RPCConfig ¶
type RPCConfig struct { ListenAddress string // Cross Origin Resource Sharing settings CORSAllowedOrigins []string CORSAllowedMethods []string CORSAllowedHeaders []string // Maximum number of simultaneous connections (including WebSocket). // Does not include gRPC connections. See grpc-max-open-connections // If you want to accept a larger number than the default, make sure // you increase your OS limits. // 0 - unlimited. // Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} // 1024 - 40 - 10 - 50 = 924 = ~900 MaxOpenConnections int // The path to a file containing certificate that is used to create the HTTPS server. // Might be either absolute path or path related to Tendermint's config directory. // // If the certificate is signed by a certificate authority, // the certFile should be the concatenation of the server's certificate, any intermediates, // and the CA's certificate. // // NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. // Otherwise, HTTP server is run. TLSCertFile string `mapstructure:"tls-cert-file"` // The path to a file containing matching private key that is used to create the HTTPS server. // Might be either absolute path or path related to tendermint's config directory. // // NOTE: both tls-cert-file and tls-key-file must be present for Tendermint to create HTTPS server. // Otherwise, HTTP server is run. TLSKeyFile string `mapstructure:"tls-key-file"` }
RPCConfig holds RPC configuration params.