Pex has one channel. The channel identifier is listed below.
| Name | Number |
|---|---|
| PexChannel | 0 |
The current PEX service has two versions. The first uses IP/port pair but since the p2p stack is moving towards a transport agnostic approach,
node endpoints require a Protocol and Path hence the V2 version uses a url instead.
PexRequest is an empty message requesting a list of peers.
EmptyRequest
PexResponse is an list of net addresses provided to a peer to dial.
| Name | Type | Description | Field Number |
|---|---|---|---|
| addresses | repeated PexAddress | List of peer addresses available to dial | 1 |
PexAddress provides needed information for a node to dial a peer.
| Name | Type | Description | Field Number |
|---|---|---|---|
| id | string | NodeID of a peer | 1 |
| ip | string | The IP of a node | 2 |
| port | port | Port of a peer | 3 |
PexRequest is an empty message requesting a list of peers.
EmptyRequest
PexResponse is an list of net addresses provided to a peer to dial.
| Name | Type | Description | Field Number |
|---|---|---|---|
| addresses | repeated PexAddressV2 | List of peer addresses available to dial | 1 |
PexAddress provides needed information for a node to dial a peer.
| Name | Type | Description | Field Number |
|---|---|---|---|
| url | string | See golang url | 1 |
Message is a oneof protobuf type. The one of consists of two messages.
| Name | Type | Description | Field Number |
|---|---|---|---|
| pex_request | PexRequest | Empty request asking for a list of addresses to dial | 1 |
| pex_response | PexResponse | List of addresses to dial | 2 |
| pex_request_v2 | PexRequestV2 | Empty request asking for a list of addresses to dial | 3 |
| pex_response_v2 | PexRespinseV2 | List of addresses to dial | 4 |