libp2p-kad-dht
TypeScript icon, indicating that this package has built-in type declarations

0.28.6 • Public • Published

js-libp2p-kad-dht

Discourse posts Build status Coverage Status Dependency Status Bundle Size js-standard-style standard-readme compliant

JavaScript implementation of the Kademlia DHT for libp2p, based on go-libp2p-kad-dht.

Lead Maintainer

Vasco Santos.

Table of Contents

Install

npm

> npm i libp2p-kad-dht

Use in Node.js

import { create } from 'libp2p-kad-dht'

API

See https://libp2p.github.io/js-libp2p-kad-dht for the auto generated docs.

The libp2p-kad-dht module offers 3 APIs: Peer Routing, Content Routing and Peer Discovery.

Custom secondary DHT in libp2p

import { create } from 'libp2p-kad-dht'

/**
 * @param {Libp2p} libp2p
 */
async function addDHT(libp2p) {
    const customDHT = create({
        libp2p,
        protocolPrefix: '/custom'
    })
    await customDHT.start()

    return customDHT
}

Note that you may want to supply your own peer discovery function and datastore

Peer Routing

Content Routing

Peer Discovery

Spec

js-libp2p-kad-dht follows the libp2p/kad-dht spec and implements the algorithms described in the IPFS DHT documentation.

Contribute

Feel free to join in. All welcome. Open an issue!

This repository falls under the IPFS Code of Conduct.

License

MIT - Protocol Labs 2017

/libp2p-kad-dht/

    Package Sidebar

    Install

    npm i libp2p-kad-dht

    Weekly Downloads

    1,632

    Version

    0.28.6

    License

    Apache-2.0 OR MIT

    Unpacked Size

    1.41 MB

    Total Files

    106

    Last publish

    Collaborators

    • jacobheun
    • daviddias
    • achingbrain
    • vascosantos