Module: Tapyrus::Message

Defined in:
lib/tapyrus/message.rb,
lib/tapyrus/message/tx.rb,
lib/tapyrus/message/inv.rb,
lib/tapyrus/message/addr.rb,
lib/tapyrus/message/base.rb,
lib/tapyrus/message/ping.rb,
lib/tapyrus/message/pong.rb,
lib/tapyrus/message/block.rb,
lib/tapyrus/message/error.rb,
lib/tapyrus/message/reject.rb,
lib/tapyrus/message/headers.rb,
lib/tapyrus/message/ver_ack.rb,
lib/tapyrus/message/version.rb,
lib/tapyrus/message/get_addr.rb,
lib/tapyrus/message/get_data.rb,
lib/tapyrus/message/mem_pool.rb,
lib/tapyrus/message/block_txn.rb,
lib/tapyrus/message/inventory.rb,
lib/tapyrus/message/not_found.rb,
lib/tapyrus/message/fee_filter.rb,
lib/tapyrus/message/filter_add.rb,
lib/tapyrus/message/get_blocks.rb,
lib/tapyrus/message/send_cmpct.rb,
lib/tapyrus/message/cmpct_block.rb,
lib/tapyrus/message/filter_load.rb,
lib/tapyrus/message/get_headers.rb,
lib/tapyrus/message/filter_clear.rb,
lib/tapyrus/message/merkle_block.rb,
lib/tapyrus/message/network_addr.rb,
lib/tapyrus/message/prefilled_tx.rb,
lib/tapyrus/message/send_headers.rb,
lib/tapyrus/message/get_block_txn.rb,
lib/tapyrus/message/headers_parser.rb,
lib/tapyrus/message/block_transactions.rb,
lib/tapyrus/message/inventories_parser.rb,
lib/tapyrus/message/header_and_short_ids.rb,
lib/tapyrus/message/block_transaction_request.rb

Defined Under Namespace

Modules: HeadersParser, InventoriesParser Classes: Addr, Base, Block, BlockTransactionRequest, BlockTransactions, BlockTxn, CmpctBlock, Error, FeeFilter, FilterAdd, FilterClear, FilterLoad, GetAddr, GetBlockTxn, GetBlocks, GetData, GetHeaders, HeaderAndShortIDs, Headers, Inv, Inventory, MemPool, MerkleBlock, NetworkAddr, NotFound, Ping, Pong, PrefilledTx, Reject, SendCmpct, SendHeaders, Tx, VerAck, Version

Constant Summary collapse

USER_AGENT =
"/tapyrusrb:#{Tapyrus::VERSION}/"
SERVICE_FLAGS =
{
  none: 0,
  network: 1 << 0, # the node is capable of serving the block chain. It is currently set by all Bitcoin Core node, and is unset by SPV clients or other peers that just want network services but don't provide them.
  # getutxo: 1 << 1, # BIP-64. not implemented in Bitcoin Core.
  bloom: 1 << 2 # the node is capable and willing to handle bloom-filtered connections. Bitcoin Core node used to support this by default, without advertising this bit, but no longer do as of protocol version 70011 (= NO_BLOOM_VERSION)
  #witness: 1 << 3,  # the node can be asked for blocks and transactions including witness data.
  # xthin: 1 << 4 # support Xtreme Thinblocks. not implemented in Bitcoin Core
}
DEFAULT_SERVICE_FLAGS =

DEFAULT_SERVICE_FLAGS = SERVICE_FLAGS | SERVICE_FLAGS | SERVICE_FLAGS

SERVICE_FLAGS[:none]
DEFAULT_STOP_HASH =
"00" * 32
VERSION =

the protocol version.

{
  headers: 31_800,
  pong: 60_001,
  bloom: 70_011,
  send_headers: 70_012,
  fee_filter: 70_013,
  compact: 70_014,
  compact_witness: 70_015
}