b10c
August 12, 2026, 2:59pm
5
I’ve only sampled/tracked down a few peers who send this yet, but a few seem to be /btcwire:0.5.0/neutrino:0.12.0-beta/. Neutrino seems to be setting the INV to InvTypeWitnessTx in sendTransaction().
// sendTransaction sends a transaction to all peers. It returns an error if any
// peer rejects the transaction.
//
// TODO: Better privacy by sending to only one random peer and watching
// propagation, requires better peer selection support in query API.
//
// TODO(wilmer): Move to pushtx package after introducing a query package. This
// cannot be done at the moment due to circular dependencies.
func (s *ChainService) sendTransaction(tx *wire.MsgTx, options ...QueryOption) error {
// Starting with the set of default options, we'll apply any specified
// functional options to the query so that we can check what inv type
// to use. Broadcast the inv to all peers, responding to any getdata
// messages for the transaction.
qo := defaultQueryOptions()
qo.applyQueryOptions(options...)
invType := wire.InvTypeWitnessTx
if qo.encoding == wire.BaseEncoding {
invType = wire.InvTypeTx
}