Libp2p.IdentifyPB (libp2p_elixir v0.9.0)

Protobuf encoding/decoding for the Identify message.

This targets /ipfs/id/1.0.0 and implements the classic fields: (field numbers per identify/src/generated/structs.proto in rust-libp2p) 1 publicKey (bytes) -- libp2p-crypto PublicKey protobuf 2 listenAddrs (repeated bytes) -- multiaddr bytes 3 protocols (repeated string) 4 observedAddr (bytes) -- multiaddr bytes 5 protocolVersion (string) 6 agentVersion (string) 8 signedPeerRecord (bytes) -- optional (ignored for now)

Summary

Types

t()

@type t() :: %{
  protocol_version: binary() | nil,
  agent_version: binary() | nil,
  public_key: binary() | nil,
  listen_addrs: [binary()],
  observed_addr: binary() | nil,
  protocols: [binary()],
  signed_peer_record: binary() | nil
}

Functions

decode(bin)

@spec decode(binary()) :: t()

encode(msg)

@spec encode(t()) :: binary()