class BitcoinNode::Protocol::Header

Constants

SIZE

Public Class Methods

build_from(payload) click to toggle source
# File lib/bitcoin_node/protocol.rb, line 24
def self.build_from(payload)
  new(payload)
end
unpack(raw) click to toggle source
# File lib/bitcoin_node/protocol.rb, line 28
def self.unpack(raw)
  raw.unpack('a4A12Va4')
end

Private Class Methods

new(payload) click to toggle source
# File lib/bitcoin_node/protocol.rb, line 32
def initialize(payload)
  @payload = payload
end

Public Instance Methods

raw() click to toggle source
# File lib/bitcoin_node/protocol.rb, line 37
def raw
  @raw ||= begin
    [BitcoinNode.network,
     @payload.name.ljust(12, "\x00")[0...12],
     [@payload.bytesize].pack("V"),
     BN::Protocol.digest(@payload.raw)[0...4]].join
  end
end