Leverage other peers in the libp2p network to perform Peer Routing calls.
$ npm i @libp2p/delegated-peer-routing
<script> tagLoading this module through a script tag will make it's exports available as Libp2pDelegatedPeerRouting in the global namespace.
<script src="https://unpkg.com/@libp2p/delegated-peer-routing/dist/index.min.js"></script>
Leverage other peers in the network to perform Peer Routing calls.
Requires access to /api/v0/dht/findpeer and /api/v0/dht/query HTTP API endpoints of the delegate node.
libp2p-delegated-peer-routing leverages the kubo-rpc-client library and requires an instance of it as a constructor argument.
npm install kubo-rpc-client libp2p-delegated-peer-routing
import { createLibp2p } from 'libp2p'
import { delegatedPeerRouting } from '@libp2p/delegated-peer-routing'
import { create as kuboClient } from 'kubo-rpc-client'
// default is to use ipfs.io
const client = kuboClient({
  // use default api settings
  protocol: 'https',
  port: 443,
  host: 'node0.delegate.ipfs.io'
})
const node = await createLibp2p({
  peerRouters: [
    delegatedPeerRouting(client)
  ]
  //.. other config
})
await node.start()
const peerInfo = await node.peerRouting.findPeer('peerid')
console.log('peerInfo', peerInfo)
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.