Versions in this module Expand all Collapse all v1 v1.0.0 Jun 11, 2019 Changes in this version + const BIP0031Version + const BIP0035Version + const BIP0037Version + const BIP0111Version + const CFCheckptInterval + const CmdAddr + const CmdBlock + const CmdCFCheckpt + const CmdCFHeaders + const CmdCFilter + const CmdFeeFilter + const CmdFilterAdd + const CmdFilterClear + const CmdFilterLoad + const CmdGetAddr + const CmdGetBlocks + const CmdGetCFCheckpt + const CmdGetCFHeaders + const CmdGetCFilters + const CmdGetData + const CmdGetHeaders + const CmdHeaders + const CmdInv + const CmdMemPool + const CmdMerkleBlock + const CmdNotFound + const CmdPing + const CmdPong + const CmdReject + const CmdSendHeaders + const CmdTx + const CmdVerAck + const CmdVersion + const CommandSize + const DefaultUserAgent + const FeeFilterVersion + const MaxAddrPerMsg + const MaxBlockHeaderPayload + const MaxBlockHeadersPerMsg + const MaxBlockLocatorsPerMsg + const MaxBlocksPerMsg + const MaxCFHeaderPayload + const MaxCFHeadersPerMsg + const MaxCFilterDataSize + const MaxFilterAddDataSize + const MaxFilterLoadFilterSize + const MaxFilterLoadHashFuncs + const MaxGetCFiltersReqRange + const MaxInvPerMsg + const MaxPrevOutIndex + const MaxTxInSequenceNum + const MaxUserAgentLen + const MaxVarIntPayload + const MessageHeaderSize + const MinTxOutPayload + const MultipleAddressVersion + const NetAddressTimeVersion + const ProtocolVersion + const RejectVersion + const SendHeadersVersion + const SequenceLockTimeDisabled + const SequenceLockTimeGranularity + const SequenceLockTimeIsSeconds + const SequenceLockTimeMask + const TxVersion + var ErrInsaneCFHeaderCount = errors.New("refusing to decode unreasonable number of filter headers") + var LatestEncoding = BaseEncoding + func MaxBlockPayload() uint32 + func RandomUint64() (uint64, error) + func ReadVarBytes(r io.Reader, pver uint32, maxAllowed uint32, fieldName string) ([]byte, error) + func ReadVarInt(r io.Reader, pver uint32) (uint64, error) + func ReadVarString(r io.Reader, pver uint32) (string, error) + func SetLimits(excessiveBlockSize uint32) + func VarIntSerializeSize(val uint64) int + func WriteMessage(w io.Writer, msg Message, pver uint32, bsvnet BitcoinNet) error + func WriteMessageN(w io.Writer, msg Message, pver uint32, bsvnet BitcoinNet) (int, error) + func WriteMessageWithEncodingN(w io.Writer, msg Message, pver uint32, bsvnet BitcoinNet, ...) (int, error) + func WriteTxOut(w io.Writer, pver uint32, version int32, to *TxOut) error + func WriteVarBytes(w io.Writer, pver uint32, bytes []byte) error + func WriteVarInt(w io.Writer, pver uint32, val uint64) error + func WriteVarString(w io.Writer, pver uint32, str string) error + type BitcoinNet uint32 + const MainNet + const SimNet + const TestNet + const TestNet3 + func (n BitcoinNet) String() string + type BlockHeader struct + Bits uint32 + MerkleRoot chainhash.Hash + Nonce uint32 + PrevBlock chainhash.Hash + Timestamp time.Time + Version int32 + func NewBlockHeader(version int32, prevHash, merkleRootHash *chainhash.Hash, bits uint32, ...) *BlockHeader + func (h *BlockHeader) BlockHash() chainhash.Hash + func (h *BlockHeader) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (h *BlockHeader) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (h *BlockHeader) Deserialize(r io.Reader) error + func (h *BlockHeader) Serialize(w io.Writer) error + type BloomUpdateType uint8 + const BloomUpdateAll + const BloomUpdateNone + const BloomUpdateP2PubkeyOnly + type FilterType uint8 + const GCSFilterRegular + type InvType uint32 + const InvTypeBlock + const InvTypeError + const InvTypeFilteredBlock + const InvTypeTx + func (invtype InvType) String() string + type InvVect struct + Hash chainhash.Hash + Type InvType + func NewInvVect(typ InvType, hash *chainhash.Hash) *InvVect + type Message interface + BsvEncode func(io.Writer, uint32, MessageEncoding) error + Bsvdecode func(io.Reader, uint32, MessageEncoding) error + Command func() string + MaxPayloadLength func(uint32) uint32 + func ReadMessage(r io.Reader, pver uint32, bsvnet BitcoinNet) (Message, []byte, error) + func ReadMessageN(r io.Reader, pver uint32, bsvnet BitcoinNet) (int, Message, []byte, error) + func ReadMessageWithEncodingN(r io.Reader, pver uint32, bsvnet BitcoinNet, enc MessageEncoding) (int, Message, []byte, error) + type MessageEncoding uint32 + const BaseEncoding + type MessageError struct + Description string + Func string + func (e *MessageError) Error() string + type MsgAddr struct + AddrList []*NetAddress + func NewMsgAddr() *MsgAddr + func (msg *MsgAddr) AddAddress(na *NetAddress) error + func (msg *MsgAddr) AddAddresses(netAddrs ...*NetAddress) error + func (msg *MsgAddr) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgAddr) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgAddr) ClearAddresses() + func (msg *MsgAddr) Command() string + func (msg *MsgAddr) MaxPayloadLength(pver uint32) uint32 + type MsgBlock struct + Header BlockHeader + Transactions []*MsgTx + func NewMsgBlock(blockHeader *BlockHeader) *MsgBlock + func (msg *MsgBlock) AddTransaction(tx *MsgTx) error + func (msg *MsgBlock) BlockHash() chainhash.Hash + func (msg *MsgBlock) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgBlock) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgBlock) ClearTransactions() + func (msg *MsgBlock) Command() string + func (msg *MsgBlock) Deserialize(r io.Reader) error + func (msg *MsgBlock) DeserializeTxLoc(r *bytes.Buffer) ([]TxLoc, error) + func (msg *MsgBlock) MaxPayloadLength(pver uint32) uint32 + func (msg *MsgBlock) Serialize(w io.Writer) error + func (msg *MsgBlock) SerializeSize() int + func (msg *MsgBlock) TxHashes() ([]chainhash.Hash, error) + type MsgCFCheckpt struct + FilterHeaders []*chainhash.Hash + FilterType FilterType + StopHash chainhash.Hash + func NewMsgCFCheckpt(filterType FilterType, stopHash *chainhash.Hash, headersCount int) *MsgCFCheckpt + func (msg *MsgCFCheckpt) AddCFHeader(header *chainhash.Hash) error + func (msg *MsgCFCheckpt) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgCFCheckpt) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgCFCheckpt) Command() string + func (msg *MsgCFCheckpt) Deserialize(r io.Reader) error + func (msg *MsgCFCheckpt) MaxPayloadLength(pver uint32) uint32 + type MsgCFHeaders struct + FilterHashes []*chainhash.Hash + FilterType FilterType + PrevFilterHeader chainhash.Hash + StopHash chainhash.Hash + func NewMsgCFHeaders() *MsgCFHeaders + func (msg *MsgCFHeaders) AddCFHash(hash *chainhash.Hash) error + func (msg *MsgCFHeaders) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgCFHeaders) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgCFHeaders) Command() string + func (msg *MsgCFHeaders) Deserialize(r io.Reader) error + func (msg *MsgCFHeaders) MaxPayloadLength(pver uint32) uint32 + type MsgCFilter struct + BlockHash chainhash.Hash + Data []byte + FilterType FilterType + func NewMsgCFilter(filterType FilterType, blockHash *chainhash.Hash, data []byte) *MsgCFilter + func (msg *MsgCFilter) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgCFilter) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgCFilter) Command() string + func (msg *MsgCFilter) Deserialize(r io.Reader) error + func (msg *MsgCFilter) MaxPayloadLength(pver uint32) uint32 + type MsgFeeFilter struct + MinFee int64 + func NewMsgFeeFilter(minfee int64) *MsgFeeFilter + func (msg *MsgFeeFilter) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgFeeFilter) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgFeeFilter) Command() string + func (msg *MsgFeeFilter) MaxPayloadLength(pver uint32) uint32 + type MsgFilterAdd struct + Data []byte + func NewMsgFilterAdd(data []byte) *MsgFilterAdd + func (msg *MsgFilterAdd) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterAdd) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterAdd) Command() string + func (msg *MsgFilterAdd) MaxPayloadLength(pver uint32) uint32 + type MsgFilterClear struct + func NewMsgFilterClear() *MsgFilterClear + func (msg *MsgFilterClear) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterClear) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterClear) Command() string + func (msg *MsgFilterClear) MaxPayloadLength(pver uint32) uint32 + type MsgFilterLoad struct + Filter []byte + Flags BloomUpdateType + HashFuncs uint32 + Tweak uint32 + func NewMsgFilterLoad(filter []byte, hashFuncs uint32, tweak uint32, flags BloomUpdateType) *MsgFilterLoad + func (msg *MsgFilterLoad) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterLoad) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgFilterLoad) Command() string + func (msg *MsgFilterLoad) MaxPayloadLength(pver uint32) uint32 + type MsgGetAddr struct + func NewMsgGetAddr() *MsgGetAddr + func (msg *MsgGetAddr) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgGetAddr) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgGetAddr) Command() string + func (msg *MsgGetAddr) MaxPayloadLength(pver uint32) uint32 + type MsgGetBlocks struct + BlockLocatorHashes []*chainhash.Hash + HashStop chainhash.Hash + ProtocolVersion uint32 + func NewMsgGetBlocks(hashStop *chainhash.Hash) *MsgGetBlocks + func (msg *MsgGetBlocks) AddBlockLocatorHash(hash *chainhash.Hash) error + func (msg *MsgGetBlocks) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgGetBlocks) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgGetBlocks) Command() string + func (msg *MsgGetBlocks) MaxPayloadLength(pver uint32) uint32 + type MsgGetCFCheckpt struct + FilterType FilterType + StopHash chainhash.Hash + func NewMsgGetCFCheckpt(filterType FilterType, stopHash *chainhash.Hash) *MsgGetCFCheckpt + func (msg *MsgGetCFCheckpt) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFCheckpt) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFCheckpt) Command() string + func (msg *MsgGetCFCheckpt) MaxPayloadLength(pver uint32) uint32 + type MsgGetCFHeaders struct + FilterType FilterType + StartHeight uint32 + StopHash chainhash.Hash + func NewMsgGetCFHeaders(filterType FilterType, startHeight uint32, stopHash *chainhash.Hash) *MsgGetCFHeaders + func (msg *MsgGetCFHeaders) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFHeaders) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFHeaders) Command() string + func (msg *MsgGetCFHeaders) MaxPayloadLength(pver uint32) uint32 + type MsgGetCFilters struct + FilterType FilterType + StartHeight uint32 + StopHash chainhash.Hash + func NewMsgGetCFilters(filterType FilterType, startHeight uint32, stopHash *chainhash.Hash) *MsgGetCFilters + func (msg *MsgGetCFilters) BsvEncode(w io.Writer, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFilters) Bsvdecode(r io.Reader, pver uint32, _ MessageEncoding) error + func (msg *MsgGetCFilters) Command() string + func (msg *MsgGetCFilters) MaxPayloadLength(pver uint32) uint32 + type MsgGetData struct + InvList []*InvVect + func NewMsgGetData() *MsgGetData + func NewMsgGetDataSizeHint(sizeHint uint) *MsgGetData + func (msg *MsgGetData) AddInvVect(iv *InvVect) error + func (msg *MsgGetData) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgGetData) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgGetData) Command() string + func (msg *MsgGetData) MaxPayloadLength(pver uint32) uint32 + type MsgGetHeaders struct + BlockLocatorHashes []*chainhash.Hash + HashStop chainhash.Hash + ProtocolVersion uint32 + func NewMsgGetHeaders() *MsgGetHeaders + func (msg *MsgGetHeaders) AddBlockLocatorHash(hash *chainhash.Hash) error + func (msg *MsgGetHeaders) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgGetHeaders) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgGetHeaders) Command() string + func (msg *MsgGetHeaders) MaxPayloadLength(pver uint32) uint32 + type MsgHeaders struct + Headers []*BlockHeader + func NewMsgHeaders() *MsgHeaders + func (msg *MsgHeaders) AddBlockHeader(bh *BlockHeader) error + func (msg *MsgHeaders) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgHeaders) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgHeaders) Command() string + func (msg *MsgHeaders) MaxPayloadLength(pver uint32) uint32 + type MsgInv struct + InvList []*InvVect + func NewMsgInv() *MsgInv + func NewMsgInvSizeHint(sizeHint uint) *MsgInv + func (msg *MsgInv) AddInvVect(iv *InvVect) error + func (msg *MsgInv) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgInv) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgInv) Command() string + func (msg *MsgInv) MaxPayloadLength(pver uint32) uint32 + type MsgMemPool struct + func NewMsgMemPool() *MsgMemPool + func (msg *MsgMemPool) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgMemPool) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgMemPool) Command() string + func (msg *MsgMemPool) MaxPayloadLength(pver uint32) uint32 + type MsgMerkleBlock struct + Flags []byte + Hashes []*chainhash.Hash + Header BlockHeader + Transactions uint32 + func NewMsgMerkleBlock(bh *BlockHeader) *MsgMerkleBlock + func (msg *MsgMerkleBlock) AddTxHash(hash *chainhash.Hash) error + func (msg *MsgMerkleBlock) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgMerkleBlock) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgMerkleBlock) Command() string + func (msg *MsgMerkleBlock) MaxPayloadLength(pver uint32) uint32 + type MsgNotFound struct + InvList []*InvVect + func NewMsgNotFound() *MsgNotFound + func (msg *MsgNotFound) AddInvVect(iv *InvVect) error + func (msg *MsgNotFound) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgNotFound) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgNotFound) Command() string + func (msg *MsgNotFound) MaxPayloadLength(pver uint32) uint32 + type MsgPing struct + Nonce uint64 + func NewMsgPing(nonce uint64) *MsgPing + func (msg *MsgPing) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgPing) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgPing) Command() string + func (msg *MsgPing) MaxPayloadLength(pver uint32) uint32 + type MsgPong struct + Nonce uint64 + func NewMsgPong(nonce uint64) *MsgPong + func (msg *MsgPong) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgPong) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgPong) Command() string + func (msg *MsgPong) MaxPayloadLength(pver uint32) uint32 + type MsgReject struct + Cmd string + Code RejectCode + Hash chainhash.Hash + Reason string + func NewMsgReject(command string, code RejectCode, reason string) *MsgReject + func (msg *MsgReject) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgReject) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgReject) Command() string + func (msg *MsgReject) MaxPayloadLength(pver uint32) uint32 + type MsgSendHeaders struct + func NewMsgSendHeaders() *MsgSendHeaders + func (msg *MsgSendHeaders) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgSendHeaders) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgSendHeaders) Command() string + func (msg *MsgSendHeaders) MaxPayloadLength(pver uint32) uint32 + type MsgTx struct + LockTime uint32 + TxIn []*TxIn + TxOut []*TxOut + Version int32 + func NewMsgTx(version int32) *MsgTx + func (msg *MsgTx) AddTxIn(ti *TxIn) + func (msg *MsgTx) AddTxOut(to *TxOut) + func (msg *MsgTx) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgTx) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgTx) Command() string + func (msg *MsgTx) Copy() *MsgTx + func (msg *MsgTx) Deserialize(r io.Reader) error + func (msg *MsgTx) MaxPayloadLength(pver uint32) uint32 + func (msg *MsgTx) PkScriptLocs() []int + func (msg *MsgTx) Serialize(w io.Writer) error + func (msg *MsgTx) SerializeSize() int + func (msg *MsgTx) TxHash() chainhash.Hash + type MsgVerAck struct + func NewMsgVerAck() *MsgVerAck + func (msg *MsgVerAck) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgVerAck) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgVerAck) Command() string + func (msg *MsgVerAck) MaxPayloadLength(pver uint32) uint32 + type MsgVersion struct + AddrMe NetAddress + AddrYou NetAddress + DisableRelayTx bool + LastBlock int32 + Nonce uint64 + ProtocolVersion int32 + Services ServiceFlag + Timestamp time.Time + UserAgent string + func NewMsgVersion(me *NetAddress, you *NetAddress, nonce uint64, lastBlock int32) *MsgVersion + func (msg *MsgVersion) AddService(service ServiceFlag) + func (msg *MsgVersion) AddUserAgent(name string, version string, comments ...string) error + func (msg *MsgVersion) BsvEncode(w io.Writer, pver uint32, enc MessageEncoding) error + func (msg *MsgVersion) Bsvdecode(r io.Reader, pver uint32, enc MessageEncoding) error + func (msg *MsgVersion) Command() string + func (msg *MsgVersion) HasService(service ServiceFlag) bool + func (msg *MsgVersion) MaxPayloadLength(pver uint32) uint32 + type NetAddress struct + IP net.IP + Port uint16 + Services ServiceFlag + Timestamp time.Time + func NewNetAddress(addr *net.TCPAddr, services ServiceFlag) *NetAddress + func NewNetAddressIPPort(ip net.IP, port uint16, services ServiceFlag) *NetAddress + func NewNetAddressTimestamp(timestamp time.Time, services ServiceFlag, ip net.IP, port uint16) *NetAddress + func (na *NetAddress) AddService(service ServiceFlag) + func (na *NetAddress) HasService(service ServiceFlag) bool + type OutPoint struct + Hash chainhash.Hash + Index uint32 + func NewOutPoint(hash *chainhash.Hash, index uint32) *OutPoint + func (o OutPoint) String() string + type RejectCode uint8 + const RejectCheckpoint + const RejectDuplicate + const RejectDust + const RejectInsufficientFee + const RejectInvalid + const RejectMalformed + const RejectNonstandard + const RejectObsolete + func (code RejectCode) String() string + type ServiceFlag uint64 + const SFNodeBitcoinCash + const SFNodeBloom + const SFNodeCF + const SFNodeGetUTXO + const SFNodeGraphene + const SFNodeNetwork + const SFNodeNetworkLimited + const SFNodeWeakBlocks + const SFNodeWitness + const SFNodeXThinner + const SFNodeXthin + func (f ServiceFlag) String() string + type TxIn struct + PreviousOutPoint OutPoint + Sequence uint32 + SignatureScript []byte + func NewTxIn(prevOut *OutPoint, signatureScript []byte) *TxIn + func (t *TxIn) SerializeSize() int + type TxLoc struct + TxLen int + TxStart int + type TxOut struct + PkScript []byte + Value int64 + func NewTxOut(value int64, pkScript []byte) *TxOut + func (t *TxOut) SerializeSize() int