diff --git a/peer/peer.go b/peer/peer.go index 02c3fbd0..8f136fcf 100644 --- a/peer/peer.go +++ b/peer/peer.go @@ -235,6 +235,10 @@ type Config struct { // peer.MaxProtocolVersion will be used. ProtocolVersion uint32 + // DisableRelayTx specifies if the remote peer should be informed to + // not send inv messages for transactions. + DisableRelayTx bool + // Listeners houses callback functions to be invoked on receiving peer // messages. Listeners MessageListeners @@ -798,6 +802,9 @@ func (p *Peer) pushVersionMsg() error { // Advertise our max supported protocol version. msg.ProtocolVersion = int32(p.ProtocolVersion()) + // Advertise if inv messages for transactions are desired. + msg.DisableRelayTx = p.cfg.DisableRelayTx + p.QueueMessage(msg, nil) return nil } diff --git a/server.go b/server.go index f887970f..28c9e90f 100644 --- a/server.go +++ b/server.go @@ -1403,6 +1403,7 @@ func newPeerConfig(sp *serverPeer) *peer.Config { UserAgentVersion: userAgentVersion, ChainParams: sp.server.chainParams, Services: sp.server.services, + DisableRelayTx: false, } }