JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2627
  • Score
    100M100P100Q122404F
  • License Apache-2.0 OR MIT

Leverage other peers in the libp2p network to perform Content Routing calls.

Package Exports

  • @libp2p/delegated-content-routing

Readme

js-libp2p-delegated-content-routing

Discourse posts Build Status Dependency Status

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-routing

Example

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

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.