Class: Bitcoin::Message::AddrV2
- Defined in:
- lib/bitcoin/message/addr_v2.rb
Overview
addrv2 message class. github.com/bitcoin/bips/blob/master/bip-0155.mediawiki
Constant Summary collapse
- COMMAND =
'addrv2'
Instance Attribute Summary collapse
-
#addrs ⇒ Object
readonly
Returns the value of attribute addrs.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(addrs = []) ⇒ AddrV2
constructor
A new instance of AddrV2.
- #to_payload ⇒ Object
Methods inherited from Base
Methods included from Util
#byte_to_bit, #calc_checksum, #decode_base58_address, #double_sha256, #encode_base58_address, #hash160, #hkdf_sha256, #hmac_sha256, #pack_boolean, #pack_var_int, #pack_var_string, #padding_zero, #sha256, #tagged_hash, #unpack_boolean, #unpack_var_int, #unpack_var_int_from_io, #unpack_var_string, #valid_address?
Methods included from HexConverter
Constructor Details
#initialize(addrs = []) ⇒ AddrV2
Returns a new instance of AddrV2.
12 13 14 |
# File 'lib/bitcoin/message/addr_v2.rb', line 12 def initialize(addrs = []) @addrs = addrs end |
Instance Attribute Details
#addrs ⇒ Object (readonly)
Returns the value of attribute addrs.
10 11 12 |
# File 'lib/bitcoin/message/addr_v2.rb', line 10 def addrs @addrs end |
Class Method Details
.parse_from_payload(payload) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# 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 |
Instance Method Details
#to_payload ⇒ Object
26 27 28 29 |
# 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 |