Socket
Socket
Sign inDemoInstall

libp2p-kad-dht

Package Overview
Dependencies
25
Maintainers
4
Versions
109
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

libp2p-kad-dht


Version published
Maintainers
4
Created

Changelog

Source

0.23.4 (2021-09-03)

Reverts

  • Revert "feat: periodically fill the routing table with KADIds (#215)" (dd16a28), closes #215

Readme

Source

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

const KadDHT = require('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

/**
 * @param {Libp2p} libp2p
 */
function addDHT(libp2p) {
    const customDHT = new KadDHT({
        libp2p,
        dialer: libp2p.dialer,
        peerId: libp2p.peerId,
        peerStore: libp2p.peerStore,
        registrar: libp2p.registrar,
        protocolPrefix: '/custom'
    })
    customDHT.start()
    customDHT.on('peer', libp2p._onDiscoveryPeer)
    return customDHT
}

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

Peer Routing

Content Routing

Peer Discovery

libp2p-kad-dht provides a discovery service called Random Walk (random walks on the DHT to discover more nodes). It is accessible through dht.randomWalk and exposes the Peer Discovery interface.

Implementation Summary

A summary of the algorithms and API for this implementation of Kademlia.

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

Keywords

FAQs

Last updated on 03 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc