This IPIP specifies /routing/v1/peers/{peer-id}
HTTP API to offload peer routing onto another server.
The motivation of this IPIP extends the one of [ipip-0337] and [ipip-0379], which introduced delegated content routing and delegated naming, respectively. Now, we expand upon those basis to introduce peer routing, reducing the barrier for interaction across different systems.
Add /routing/v1/peers/{peer-id}
to the existing [http-routing-v1] specification,
as well as the new Peer schema, that replaces the existing "known transfer protocols".
In line with the remaining Routing V1 API, this IPIP introduces a new HTTP GET endpoint that is used to retrieve peer records for a certain peer.
The user benefit brought by this PR is similar to the one in [ipip-0379], but instead of offloading the naming process, we offload the peer discovery and routing.
The section "Known Transfer Protocols" has been removed and replaced by a "Known Schemas"
section. Before, we used to have protocol specific schemas, such as bitswap
and graphsync-filecoinv1
.
The usage of these schemas is no longer encouraged. Instead, clients and
servers SHOULD be updated to use the new, more generic, peer
schema, which
avoids returning the same peer multiple times, making results more efficient
when a peer supports more than one protocol.
See more in the "Compatibility" section of [ipip-0337].
See the "Security" section of [ipip-0337].
See the "Alternatives" section of [ipip-0337].
Copyright and related rights waived via CC0.