Documentation
¶
Index ¶
- func ConstructModule(tp node.Type, cfg *Config) fx.Option
- func Flags() *flag.FlagSet
- func ParseFlags(cmd *cobra.Command, cfg *Config) error
- func ParseTrustedHashFlags(cmd *cobra.Command, cfg *Config) error
- func ParseTrustedPeerFlags(cmd *cobra.Command, cfg *Config) error
- func TrustedHashFlags() *flag.FlagSet
- func TrustedPeersFlags() *flag.FlagSet
- type API
- type Config
- type Module
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseFlags ¶
ParseFlags parses Header package flags from the given cmd and applies them to the passed config.
func ParseTrustedHashFlags ¶
ParseTrustedHashFlags parses Header package flags from the given cmd and saves them to the passed config.
func ParseTrustedPeerFlags ¶
ParseTrustedPeerFlags parses Header package flags from the given cmd and applies them to the passed config.
func TrustedHashFlags ¶
TrustedHashFlags returns a set of flags related to configuring a `TrustedHash`.
func TrustedPeersFlags ¶
TrustedPeersFlags returns a set of flags.
Types ¶
type API ¶ added in v0.5.0
type API struct {
GetByHeight func(context.Context, uint64) (*header.ExtendedHeader, error)
Head func(context.Context) (*header.ExtendedHeader, error)
IsSyncing func() bool
}
API is a wrapper around Module for the RPC. TODO(@distractedm1nd): These structs need to be autogenerated.
type Config ¶
type Config struct {
// TrustedHash is the Block/Header hash that Nodes use as starting point for header synchronization.
// Only affects the node once on initial sync.
TrustedHash string
// TrustedPeers are the peers we trust to fetch headers from.
// Note: The trusted does *not* imply Headers are not verified, but trusted as reliable to fetch
// headers at any moment.
TrustedPeers []string
Store *store.Parameters
Server *p2p_exchange.ServerParameters
Client *p2p_exchange.ClientParameters `toml:",omitempty"`
}
Config contains configuration parameters for header retrieval and management.
func DefaultConfig ¶
type Module ¶
type Module interface {
// GetByHeight returns the ExtendedHeader at the given height, blocking
// until header has been processed by the store or context deadline is exceeded.
GetByHeight(context.Context, uint64) (*header.ExtendedHeader, error)
// Head returns the ExtendedHeader of the chain head.
Head(context.Context) (*header.ExtendedHeader, error)
// IsSyncing returns the status of sync
IsSyncing() bool
}
Module exposes the functionality needed for querying headers from the network. Any method signature changed here needs to also be changed in the API struct.
func NewHeaderService ¶
func NewHeaderService( syncer *sync.Syncer, sub header.Subscriber, p2pServer *p2p.ExchangeServer, ex header.Exchange, store header.Store) Module
NewHeaderService creates a new instance of header Service.
type Service ¶ added in v0.5.0
type Service struct {
// contains filtered or unexported fields
}
Service represents the header Service that can be started / stopped on a node. Service's main function is to manage its sub-services. Service can contain several sub-services, such as Exchange, ExchangeServer, Syncer, and so forth.