Package Exports
- @libp2p/delegated-content-routing
Readme
js-libp2p-delegated-content-routing
Leverage other peers in the network to perform Content Routing calls.
Requires access to /api/v0/dht/findprovs and /api/v0/refs HTTP API endpoints of the delegate node.
Table of contents
Requirements
@libp2p/delegated-content-routing leverages the ipfs-http-client library and requires an instance of it as a constructor argument.
npm install ipfs-http-client @libp2p/delegated-content-routingExample
import { DelegatedContentRouting } from '@libp2p/delegated-content-routing'
import ipfsHttpClient from 'ipfs-http-client'
// default is to use ipfs.io
const routing = new DelegatedContentRouting(peerId, ipfsHttpClient.create({
// use default api settings
protocol: 'https',
port: 443,
host: 'node0.delegate.ipfs.io' // In production you should setup your own delegates
}))
const cid = new CID('QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv')
for await (const { id, multiaddrs } of routing.findProviders(cid)) {
console.log('found peer', id, multiaddrs)
}
await routing.provide(cid)
console.log('providing %s', cid.toBaseEncodedString())License
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Contribution
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.