Versions in this module Expand all Collapse all v0 v0.0.5 Jan 2, 2025 v0.0.4 Jan 2, 2025 v0.0.3 Jan 2, 2025 v0.0.2 May 5, 2024 v0.0.1 Apr 8, 2023 Changes in this version + const DefaultMaxKnownInventory + const DefaultTrickleInterval + const MaxProtocolVersion + const MinAcceptableProtocolVersion + func DisableLog() + func UseLogger(logger bchlog.Logger) + type AddrFunc func(remoteAddr *wire.NetAddress) *wire.NetAddress + type Config struct + AddrMe *wire.NetAddress + ChainParams *chaincfg.Params + DisableRelayTx bool + HostToNetAddress HostToNetAddrFunc + Listeners MessageListeners + MaxKnownInventory uint + NewestBlock HashFunc + ProtocolVersion uint32 + Proxy string + Services wire.ServiceFlag + TrickleInterval time.Duration + TstAllowSelfConnection bool + UserAgentComments []string + UserAgentName string + UserAgentVersion string + type HashFunc func() (hash *chainhash.Hash, height int32, err error) + type HostToNetAddrFunc func(host string, port uint16, services wire.ServiceFlag) (*wire.NetAddress, error) + type MessageListeners struct + OnAddr func(p *Peer, msg *wire.MsgAddr) + OnBlock func(p *Peer, msg *wire.MsgBlock, buf []byte) + OnBlockTxns func(p *Peer, msg *wire.MsgBlockTxns) + OnCFCheckpt func(p *Peer, msg *wire.MsgCFCheckpt) + OnCFHeaders func(p *Peer, msg *wire.MsgCFHeaders) + OnCFilter func(p *Peer, msg *wire.MsgCFilter) + OnCmpctBlock func(p *Peer, msg *wire.MsgCmpctBlock) + OnFeeFilter func(p *Peer, msg *wire.MsgFeeFilter) + OnFilterAdd func(p *Peer, msg *wire.MsgFilterAdd) + OnFilterClear func(p *Peer, msg *wire.MsgFilterClear) + OnFilterLoad func(p *Peer, msg *wire.MsgFilterLoad) + OnGetAddr func(p *Peer, msg *wire.MsgGetAddr) + OnGetBlockTxns func(p *Peer, msg *wire.MsgGetBlockTxns) + OnGetBlocks func(p *Peer, msg *wire.MsgGetBlocks) + OnGetCFCheckpt func(p *Peer, msg *wire.MsgGetCFCheckpt) + OnGetCFHeaders func(p *Peer, msg *wire.MsgGetCFHeaders) + OnGetCFMempool func(p *Peer, msg *wire.MsgGetCFMempool) + OnGetCFilters func(p *Peer, msg *wire.MsgGetCFilters) + OnGetData func(p *Peer, msg *wire.MsgGetData) + OnGetHeaders func(p *Peer, msg *wire.MsgGetHeaders) + OnHeaders func(p *Peer, msg *wire.MsgHeaders) + OnInv func(p *Peer, msg *wire.MsgInv) + OnMemPool func(p *Peer, msg *wire.MsgMemPool) + OnMerkleBlock func(p *Peer, msg *wire.MsgMerkleBlock) + OnNotFound func(p *Peer, msg *wire.MsgNotFound) + OnPing func(p *Peer, msg *wire.MsgPing) + OnPong func(p *Peer, msg *wire.MsgPong) + OnRead func(p *Peer, bytesRead int, msg wire.Message, err error) + OnReject func(p *Peer, msg *wire.MsgReject) + OnSendCmpct func(p *Peer, msg *wire.MsgSendCmpct) + OnSendHeaders func(p *Peer, msg *wire.MsgSendHeaders) + OnTx func(p *Peer, msg *wire.MsgTx) + OnVerAck func(p *Peer, msg *wire.MsgVerAck) + OnVersion func(p *Peer, msg *wire.MsgVersion) *wire.MsgReject + OnWrite func(p *Peer, bytesWritten int, msg wire.Message, err error) + OnXVersion func(p *Peer, msg *wire.MsgXVersion) + type Peer struct + func NewInboundPeer(cfg *Config) *Peer + func NewOutboundPeer(cfg *Config, addr string) (*Peer, error) + func (p *Peer) AddKnownInventory(invVect *wire.InvVect) + func (p *Peer) Addr() string + func (p *Peer) AllowDirectBlockRelay() bool + func (p *Peer) AssociateConnection(conn net.Conn) + func (p *Peer) BytesReceived() uint64 + func (p *Peer) BytesSent() uint64 + func (p *Peer) Connected() bool + func (p *Peer) DeleteKnownInventory(invVect *wire.InvVect) + func (p *Peer) Disconnect() + func (p *Peer) GetKnownTxInventory() map[chainhash.Hash]bool + func (p *Peer) HasKnownInventory(invVect *wire.InvVect) bool + func (p *Peer) ID() int32 + func (p *Peer) Inbound() bool + func (p *Peer) LastAnnouncedBlock() *chainhash.Hash + func (p *Peer) LastBlock() int32 + func (p *Peer) LastPingMicros() int64 + func (p *Peer) LastPingNonce() uint64 + func (p *Peer) LastPingTime() time.Time + func (p *Peer) LastRecv() time.Time + func (p *Peer) LastSend() time.Time + func (p *Peer) LocalAddr() net.Addr + func (p *Peer) NA() *wire.NetAddress + func (p *Peer) ProtocolVersion() uint32 + func (p *Peer) PushAddrMsg(addresses []*wire.NetAddress) ([]*wire.NetAddress, error) + func (p *Peer) PushGetBlocksMsg(locator blockchain.BlockLocator, stopHash *chainhash.Hash) error + func (p *Peer) PushGetHeadersMsg(locator blockchain.BlockLocator, stopHash *chainhash.Hash) error + func (p *Peer) PushRejectMsg(command string, code wire.RejectCode, reason string, hash *chainhash.Hash, ...) + func (p *Peer) QueueInventory(invVect *wire.InvVect) + func (p *Peer) QueueMessage(msg wire.Message, doneChan chan<- struct{}) + func (p *Peer) QueueMessageWithEncoding(msg wire.Message, doneChan chan<- struct{}, encoding wire.MessageEncoding) + func (p *Peer) Services() wire.ServiceFlag + func (p *Peer) SetAllowDirectBlockRelay(allow bool) + func (p *Peer) SetSyncPeer(val bool) + func (p *Peer) StartingHeight() int32 + func (p *Peer) StatsSnapshot() *StatsSnap + func (p *Peer) String() string + func (p *Peer) SyncPeer() bool + func (p *Peer) TimeConnected() time.Time + func (p *Peer) TimeOffset() int64 + func (p *Peer) UpdateLastAnnouncedBlock(blkHash *chainhash.Hash) + func (p *Peer) UpdateLastBlockHeight(newHeight int32) + func (p *Peer) UserAgent() string + func (p *Peer) VerAckReceived() bool + func (p *Peer) VersionKnown() bool + func (p *Peer) WaitForDisconnect() + func (p *Peer) WantsCompactBlocks() bool + func (p *Peer) WantsDirectBlockRelay() bool + func (p *Peer) WantsHeaders() bool + type StatsSnap struct + Addr string + BytesRecv uint64 + BytesSent uint64 + ConnTime time.Time + ID int32 + Inbound bool + LastBlock int32 + LastPingMicros int64 + LastPingNonce uint64 + LastPingTime time.Time + LastRecv time.Time + LastSend time.Time + Services wire.ServiceFlag + StartingHeight int32 + SyncPeer bool + TimeOffset int64 + UserAgent string + Version uint32