Current section
Files
Jump to
Current section
Files
lib/bitcoin/protocol/messages/addr.ex
defmodule Bitcoin.Protocol.Messages.Addr do
@moduledoc """
Provide information on known nodes of the network. Non-advertised nodes should be forgotten after typically 3 hours.
https://en.bitcoin.it/wiki/Protocol_documentation#addr
"""
alias Bitcoin.Protocol.Types.NetworkAddress
import Bitcoin.Protocol
defstruct address_list: []
@type t :: %__MODULE__{
address_list: [NetworkAddress]
}
def parse(payload) do
[address_list, _payload] = payload |> collect_items(NetworkAddress)
%__MODULE__{
address_list: address_list
}
end
def serialize(%__MODULE__{} = s) do
s.address_list |> serialize_items
end
end