class Bitcoin::Message::AddrV2

addrv2 message class. github.com/bitcoin/bips/blob/master/bip-0155.mediawiki

Constants

COMMAND

Attributes

addrs[R]

Public Class Methods

new(addrs = []) click to toggle source
# File lib/bitcoin/message/addr_v2.rb, line 12
def initialize(addrs = [])
  @addrs = addrs
end
parse_from_payload(payload) click to toggle source
# File lib/bitcoin/message/addr_v2.rb, line 16
def self.parse_from_payload(payload)
  buf = StringIO.new(payload)
  addr_count = Bitcoin.unpack_var_int_from_io(buf)
  v2 = new
  addr_count.times do
    v2.addrs << NetworkAddr.parse_from_payload(buf, type: NetworkAddr::TYPE[:addr_v2])
  end
  v2
end

Public Instance Methods

to_payload() click to toggle source
# File lib/bitcoin/message/addr_v2.rb, line 26
def to_payload
  buf = Bitcoin.pack_var_int(addrs.size)
  buf << (addrs.map { |a| a.to_payload(type: NetworkAddr::TYPE[:addr_v2])}.join)
end