⚠️ DEPRECATED ⚠️
JavaScript
Pull request Compare This branch is 1 commit ahead, 72 commits behind kadence:master.
Latest commit 53b58ea Mar 5, 2018
Permalink
Failed to load latest commit information.
doc
example
lib
test change refresh to refresh all buckets, not just ones with nodes in them Dec 24, 2017
.eslintignore
.eslintrc fix up some linting, add more test for node-abstract Mar 13, 2017
.gitignore
.jsdoc.json
.nvmrc
.travis.yml fix travis Mar 14, 2017
CONTRIBUTING.md
LICENSE
README.md
index.js
package.json

README.md

⚠️ Deprecated! KadTools is now Kadence! ⚠️


Kad

Build Status | Coverage Status | NPM

Peer-to-peer application framework implementing the Kademlia distributed hash table for Node.js and the browser.

Looking for documentation for Kad v1.6.x? Go here!

Usage

Install kad as a dependency of your package using NPM.

npm install kad --save

Choose a transport, storage layer, and your node's contact information.

const kad = require('kad');

const node = kad({
  transport: new kad.HTTPTransport(),
  storage: require('levelup')('path/to/storage.db'),
  contact: { hostname: 'your.host.name', port: 8080 }
});

const seed = [
  'ea48d3f07a5241291ed0b4cab6483fa8b8fcc127',
  { hostname: 'seed.host.name', port: 8080 }
];

node.listen(1337);
node.join(seed, function() {
  console.log(`Connected to ${node.router.size} peers!`);
});

For complete documentation, tutorials, and examples on how to extend the base protocol for building your own distributed networks, check out the complete documentation.

Resources

License

Kad - Peer-to-peer application framework implementing Kademlia DHT
Copyright (C) 2017 Gordon Hall

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.