Documentation ¶
Index ¶
- Constants
- Variables
- func ExternalIP() (string, error)
- func ExternalIPv4() (string, error)
- func ExternalIPv6() (string, error)
- func NewDiscovery(ctx context.Context, h Host, lh libhost.Host) (*discovery, error)
- func NewNotify(h Host, s *stats) *notify
- func NewStatsService(h Host) (*stats, error)
- func NewSynchronizer(host Host, chain chain.Blockchain) (*synchronizer, error)
- func SortAddresses(ipAddrs []net.IP) []net.IP
- type Host
- type MessageHandler
Constants ¶
View Source
const MinPeersForSyncStart = 3
Variables ¶
View Source
var ( // ErrorBlockAlreadyKnown returns when received a block already known ErrorBlockAlreadyKnown = errors.New("block already known") // ErrorBlockParentUnknown returns when received a block with an unknown parent ErrorBlockParentUnknown = errors.New("unknown block parent") )
Functions ¶
func ExternalIP ¶
ExternalIP returns the first IPv4/IPv6 available.
func ExternalIPv4 ¶
ExternalIPv4 returns the first IPv4 available.
func ExternalIPv6 ¶
ExternalIPv6 retrieves any allocated IPv6 addresses from the accessible network interfaces.
func NewDiscovery ¶
func NewStatsService ¶
func NewSynchronizer ¶
func NewSynchronizer(host Host, chain chain.Blockchain) (*synchronizer, error)
NewSynchronizer constructs a new sync protocol with a given host and chain.
Types ¶
type Host ¶
type Host interface { ID() peer.ID Version() *p2p.MsgVersion Synced() bool ConnectedPeers() int GetPeersInfo() []*peerStats GetPeerDirection(p peer.ID) network.Direction SendMessage(id peer.ID, msg p2p.Message) error Notify(n *notify) Unnotify(n *notify) Disconnect(p peer.ID) error Connect(p peer.AddrInfo) error HandleConnection(net network.Network, conn network.Conn) RegisterTopicHandler(messageName string, handler MessageHandler) Broadcast(msg p2p.Message) error Stop() SetStreamHandler(pid protocol.ID, s network.StreamHandler) TrackedPeers() int FindBestPeer() (peer.ID, bool) GetPeerStats(p peer.ID) (*peerStats, bool) RemovePeerStats(id peer.ID) AddPeerStats(id peer.ID, msg *p2p.MsgVersion, dir network.Direction) IncreasePeerReceivedBytes(p peer.ID, amount uint64) }
func NewHostNode ¶
func NewHostNode(ch chain.Blockchain) (Host, error)
Click to show internal directories.
Click to hide internal directories.