Documentation ¶
Index ¶
- func Execute(options Options)
- type DNSDiscoveryOptions
- type DiscV5Options
- type FilterOptions
- type LightpushOptions
- type MetricsOptions
- type Options
- type PeerExchangeOptions
- type RESTServerOptions
- type RLNRelayOptions
- type RPCServerOptions
- type RelayOptions
- type StoreOptions
- type SwapOptions
- type WSOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DNSDiscoveryOptions ¶
DNSDiscoveryOptions are settings used for enabling DNS-based discovery protocol that stores merkle trees in DNS records which contain connection information for nodes. It's very useful for bootstrapping a p2p network.
type DiscV5Options ¶
DiscV5Options are settings to enable a modified version of Ethereum’s Node Discovery Protocol v5 as a means for ambient node discovery.
type FilterOptions ¶
type FilterOptions struct { Enable bool DisableFullNode bool Nodes []multiaddr.Multiaddr Timeout time.Duration }
FilterOptions are settings used to enable filter protocol. This is a protocol that enables subscribing to messages that a peer receives. This is a more lightweight version of WakuRelay specifically designed for bandwidth restricted devices.
type LightpushOptions ¶
type LightpushOptions struct { Enable bool Nodes []multiaddr.Multiaddr }
LightpushOptions are settings used to enable the lightpush protocol. This is a lightweight protocol used to avoid having to run the relay protocol which is more resource intensive. With this protocol a message is pushed to a peer that supports both the lightpush protocol and relay protocol. That peer will broadcast the message and return a confirmation that the message was broadcasted
type MetricsOptions ¶
MetricsOptions are settings used to start a prometheus server for obtaining useful node metrics to monitor the health of behavior of the go-waku node.
type Options ¶
type Options struct { Port int Address string Dns4DomainName string NodeKey *ecdsa.PrivateKey KeyFile string KeyPasswd string GenerateKey bool Overwrite bool StaticNodes []multiaddr.Multiaddr KeepAlive time.Duration AdvertiseAddress string ShowAddresses bool LogLevel string LogEncoding string LogOutput string NAT string PersistPeers bool UserAgent string PProf bool PeerExchange PeerExchangeOptions Websocket WSOptions Relay RelayOptions Store StoreOptions Swap SwapOptions Filter FilterOptions LightPush LightpushOptions RLNRelay RLNRelayOptions DiscV5 DiscV5Options DNSDiscovery DNSDiscoveryOptions Metrics MetricsOptions RPCServer RPCServerOptions RESTServer RESTServerOptions }
Options contains all the available features and settings that can be configured via flags when executing go-waku as a service.
type PeerExchangeOptions ¶
type PeerExchangeOptions struct { Enable bool Node *multiaddr.Multiaddr }
PeerExchangeOptions are settings used with the peer exchange protocol
type RESTServerOptions ¶
type RESTServerOptions struct { Enable bool Port int Address string Admin bool Private bool RelayCacheCapacity int }
RESTServerOptions are settings used to start a rest http server
type RLNRelayOptions ¶
type RPCServerOptions ¶
type RPCServerOptions struct { Enable bool Port int Address string Admin bool Private bool RelayCacheCapacity int }
RPCServerOptions are settings used to start a json rpc server
type RelayOptions ¶
type RelayOptions struct { Enable bool Topics cli.StringSlice PeerExchange bool MinRelayPeersToPublish int }
RelayOptions are settings to enable the relay protocol which is a pubsub approach to peer-to-peer messaging with a strong focus on privacy, censorship-resistance, security and scalability.
type StoreOptions ¶
type StoreOptions struct { Enable bool DatabaseURL string RetentionTime time.Duration RetentionMaxMessages int ResumeNodes []multiaddr.Multiaddr Nodes []multiaddr.Multiaddr }
StoreOptions are settings used for enabling the store protocol, used to retrieve message history from other nodes as well as acting as a store node and provide message history to nodes that ask for it.
type SwapOptions ¶
SwapOptions are settings used for configuring the swap protocol