|
Some checks are pending
docker-build-cometbft / vars (push) Waiting to run
docker-build-cometbft / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-cometbft / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-cometbft / merge-images (push) Blocked by required conditions
docker-build-e2e-node / vars (push) Waiting to run
docker-build-e2e-node / build-images (amd64, ubuntu-24.04) (push) Blocked by required conditions
docker-build-e2e-node / build-images (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
docker-build-e2e-node / merge-images (push) Blocked by required conditions
|
||
|---|---|---|
| .. | ||
| images | ||
| implementation | ||
| legacy-docs | ||
| reactor-api | ||
| README.md | ||
| order | parent | ||||
|---|---|---|---|---|---|
| 1 |
|
Peer-to-Peer Communication
A CometBFT network is composed of multiple CometBFT instances, hereafter called
nodes, that interact by exchanging messages.
The CometBFT protocols are designed under the assumption of a partially-connected network model.
This means that a node is not assumed to be directly connected to every other
node in the network.
Instead, each node is directly connected to only a subset of other nodes,
hereafter called its peers.
The peer-to-peer (p2p) communication layer is then the component of CometBFT that:
- establishes connections between nodes in a CometBFT network
- manages the communication between a node and the connected peers
- intermediates the exchange of messages between peers in CometBFT protocols
The specification the p2p layer is a work in progress, tracked by issue #19. The current content is organized as follows:
implementation: documents the current state of the implementation of the p2p layer, covering the main components of thep2ppackage. The documentation covers, in a fairly comprehensive way, the items 1. and 2. from the list above.reactor-api: specifies the API offered by the p2p layer to the protocol layer, through theReactorabstraction. This is a high-level specification (i.e., it should not be implementation-specific) of the p2p layer API, covering item 3. from the list above.legacy-docs: We keep older documentation in thelegacy-docsdirectory, as overall, it contains useful information. However, part of this content is redundant, being more comprehensively covered in more recent documents, and some implementation details might be outdated (see issue #981).
In addition to this content, some unfinished, work in progress, and auxiliary material can be found in the knowledge-base repository.