@libp2p/delegated-content-routing
TypeScript icon, indicating that this package has built-in type declarations

4.0.11 • Public • Published

@libp2p/delegated-content-routing

libp2p.io Discuss codecov CI

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

Table of contents

Install

$ npm i @libp2p/delegated-content-routing

Browser <script> tag

Loading this module through a script tag will make it's exports available as Libp2pDelegatedContentRouting in the global namespace.

<script src="https://unpkg.com/@libp2p/delegated-content-routing/dist/index.min.js"></script>

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.

Requirements

@libp2p/delegated-content-routing leverages the kubo-rpc-client library and requires an instance of it as a constructor argument.

npm install kubo-rpc-client @libp2p/delegated-content-routing

Example

import { createLibp2p } from 'libp2p'
import { delegatedContentRouting } from '@libp2p/delegated-content-routing'
import { create as createIpfsHttpClient } from 'kubo-rpc-client'

// default is to use ipfs.io
const client = createIpfsHttpClient({
  // use default api settings
  protocol: 'https',
  port: 443,
  host: 'node0.delegate.ipfs.io'
})

const node = await createLibp2p({
  peerRouting: [
    delegatedContentRouting(client)
  ]
  //.. other config
})
await node.start()

for await (const provider of node.contentRouting.findProviders('cid')) {
  console.log('provider', provider)
}

API Docs

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.

/@libp2p/delegated-content-routing/

    Package Sidebar

    Install

    npm i @libp2p/delegated-content-routing

    Weekly Downloads

    1,978

    Version

    4.0.11

    License

    Apache-2.0 OR MIT

    Unpacked Size

    69.7 kB

    Total Files

    10

    Last publish

    Collaborators

    • jacobheun
    • npm-service-account-libp2p
    • alanshaw
    • vascosantos
    • achingbrain
    • daviddias