package tezos-dal-node-lib

  1. Overview
  2. Docs
module Types = Tezos_dal_node_services.Types

This module defines the data structures used to instantiate the Octez P2P library. More exactly, it exposes:

  • the types p2p_message, peer_metadata and connection_metadata, used to instantiate type variables of P2p.t;
  • the values peer_metadata_cfg of type P2p_params.peer_meta_config, conn_metadata_cfg of type P2p_params.conn_meta_config and message_cfg of type P2p_params.message_config that are used when calling P2p.create.
type px_peer = {
  1. point : Tezos_base.TzPervasives.P2p_point.Id.t;
  2. peer : Tezos_base.TzPervasives.P2p_peer.Id.t;
}

Peers exchanged via PX. point represents the (address, port) pair of the exchanged peer, while peer represents the cryptographic identity of the peer.

type p2p_message =
  1. | Graft of {
    1. topic : Types.Topic.t;
    }
  2. | Prune of {
    1. topic : Types.Topic.t;
    2. px : px_peer Tezos_base.TzPervasives.Seq.t;
    3. backoff : Types.Span.t;
    }
  3. | IHave of {
    1. topic : Types.Topic.t;
    2. message_ids : Types.Message_id.t list;
    }
  4. | IWant of {
    1. message_ids : Types.Message_id.t list;
    }
  5. | Subscribe of {
    1. topic : Types.Topic.t;
    }
  6. | Unsubscribe of {
    1. topic : Types.Topic.t;
    }
  7. | Message_with_header of {
    1. message : Types.Message.t;
    2. topic : Types.Topic.t;
    3. message_id : Types.Message_id.t;
    }

Without piggybacking, p2p_message is almost identical to Gs_interface.p2p_message, except that for the Prune case, P2p_peer.Id.t elements in px are augmented by their P2p_point.Id.t counterpart.

val message_config : network_name:string -> p2p_message Tezos_base.TzPervasives.P2p_params.message_config

A P2P message config is parameterized by the network's name.

val version : network_name:string -> Tezos_base.TzPervasives.Network_version.t
OCaml

Innovation. Community. Security.