From 574827d61fb0e6e302393ea79a9156985be312a6 Mon Sep 17 00:00:00 2001 From: David Dias Date: Sat, 19 Sep 2015 09:22:54 +0100 Subject: [PATCH 01/20] Initial commit --- .gitignore | 27 +++++++++++++++++++++++++++ LICENSE | 22 ++++++++++++++++++++++ README.md | 2 ++ 3 files changed, 51 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..123ae94 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# Logs +logs +*.log + +# Runtime data +pids +*.pid +*.seed + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directory +# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git +node_modules diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..59a33ba --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 David Dias + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..25518e9 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# abstract-peer-routing +A test suite and interface you can use to implement a Peer Routing for libp2p. From 897e72ca14f0a13713b828675cee7eb2d05eea02 Mon Sep 17 00:00:00 2001 From: David Dias Date: Sat, 19 Sep 2015 16:18:26 +0100 Subject: [PATCH 02/20] add badge --- img/badge.png | Bin 0 -> 7070 bytes img/badge.sketch | Bin 0 -> 139264 bytes img/badge.svg | 19 +++++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 img/badge.png create mode 100644 img/badge.sketch create mode 100644 img/badge.svg diff --git a/img/badge.png b/img/badge.png new file mode 100644 index 0000000000000000000000000000000000000000..44127db9ee0a1786675bc5f85fb4f94d247ea118 GIT binary patch literal 7070 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�rEB5(lD;hZ!LYbm@=c9-j)Z2O5=eVYvZNpIQ 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 Ar2qf` literal 0 HcmV?d00001 diff --git a/img/badge.svg b/img/badge.svg new file mode 100644 index 0000000..f3c41b0 --- /dev/null +++ b/img/badge.svg @@ -0,0 +1,19 @@ + + + + badge + Created with Sketch. + + + + + Peer Routin + g + + + Compatibl + e + + + + \ No newline at end of file From f15b452d344b5d44bdd5818d39364fe8f170a452 Mon Sep 17 00:00:00 2001 From: David Dias Date: Sat, 19 Sep 2015 16:46:52 +0100 Subject: [PATCH 03/20] add README --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++-- package.json | 22 ++++++++++++++++ tests/base-test.js | 8 ++++++ tests/index.js | 6 +++++ 4 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 package.json create mode 100644 tests/base-test.js create mode 100644 tests/index.js diff --git a/README.md b/README.md index 25518e9..b58e9c3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,61 @@ -# abstract-peer-routing -A test suite and interface you can use to implement a Peer Routing for libp2p. +abstract-peer-routing +===================== + +[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) + +> A test suite and interface you can use to implement a Peer Routing module for libp2p. + +The primary goal of this module is to enable developers to pick and swap their Peer Routing module as they see fit for their libp2p installation, without having to go through shims or compatibility issues. This module and test suite were heavily inspired by abstract-blob-store and abstract-stream-muxer. + +Publishing a test suite as a module lets multiple modules all ensure compatibility since they use the same test suite. + +The API is presented with both Node.js and Go primitives, however, there is not actual limitations for it to be extended for any other language, pushing forward the cross compatibility and interop through diferent stacks. + +# Modules that implement the interface + +- https://github.com/diasdavid/node-ipfs-kad-router + +# Badge + +Include this badge in your readme if you make a module that is compatible with the abstract-record-store API. You can validate this by running the tests. + +![](https://raw.githubusercontent.com/diasdavid/abstract-peer-routing/master/img/badge.png) + +# How to use the battery of tests + +## Node.js + +``` +var tape = require('tape') +var tests = require('abstract-record-store/tests') +var YourPeerRouter = require('../src') + +var common = { + setup: function (t, cb) { + cb(null, YourPeerRouter) + }, + teardown: function (t, cb) { + cb() + } +} + +tests(tape, common) +``` + +## Go + +> WIP + +# API + +A valid (read: that follows this abstraction) stream muxer, must implement the following API. + +### Find peers 'responsible' or 'closest' to a given key + +- `Node.js` peerRouting.findPeers(key, function (err, peersPriorityQueue) {}) + +In a peer to peer context, the concept of 'responsability' or 'closeness' for a given key translates to having a way to find deterministically or that at least there is a significant overlap between searches, the same group of peers when searching for the same given key. + +This method will query the network (route it) and return a Priority Queue datastructe with a list of PeerInfo objects, ordered by 'closeness'. + +key is a multihash diff --git a/package.json b/package.json new file mode 100644 index 0000000..815de9f --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "abstract-peer-routing", + "version": "0.0.0", + "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", + "repository": { + "type": "git", + "url": "https://github.com/diasdavid/abstract-peer-routing.git" + }, + "keywords": [ + "IPFS" + ], + "author": "David Dias ", + "license": "MIT", + "bugs": { + "url": "https://github.com/diasdavid/abstract-peer-routing/issues" + }, + "homepage": "https://github.com/diasdavid/abstract-peer-routing", + "devDependencies": {}, + "dependencies": { + "timed-tape": "^0.1.0" + } +} diff --git a/tests/base-test.js b/tests/base-test.js new file mode 100644 index 0000000..7f40743 --- /dev/null +++ b/tests/base-test.js @@ -0,0 +1,8 @@ +module.exports.all = function (test, common) { + test('a test', function (t) { + common.setup(test, function (err, pr) { + t.plan(1) + t.ifError(err) + }) + }) +} diff --git a/tests/index.js b/tests/index.js new file mode 100644 index 0000000..b232406 --- /dev/null +++ b/tests/index.js @@ -0,0 +1,6 @@ +var timed = require('timed-tape') + +module.exports = function (test, common) { + test = timed(test) + require('./base-test.js').all(test, common) +} From 471f2ad758b60be4643ba6117f735e27f6d606b0 Mon Sep 17 00:00:00 2001 From: David Dias Date: Sat, 19 Sep 2015 17:42:28 +0100 Subject: [PATCH 04/20] release --- README.md | 2 +- package.json | 1 + tests/base-test.js | 11 +++++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b58e9c3..8c922a1 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Include this badge in your readme if you make a module that is compatible with t ``` var tape = require('tape') -var tests = require('abstract-record-store/tests') +var tests = require('abstract-peer-routing/tests') var YourPeerRouter = require('../src') var common = { diff --git a/package.json b/package.json index 815de9f..2783eac 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "homepage": "https://github.com/diasdavid/abstract-peer-routing", "devDependencies": {}, "dependencies": { + "peer-id": "^0.3.3", "timed-tape": "^0.1.0" } } diff --git a/tests/base-test.js b/tests/base-test.js index 7f40743..fbdbf49 100644 --- a/tests/base-test.js +++ b/tests/base-test.js @@ -1,8 +1,15 @@ +var Id = require('peer-id') + module.exports.all = function (test, common) { - test('a test', function (t) { + test('Simple findPeers test', function (t) { common.setup(test, function (err, pr) { - t.plan(1) + t.plan(3) t.ifError(err) + pr.findPeers(Id.create().toBytes(), function (err, peerQueue) { + t.ifError(err) + t.equal(peerQueue.length >= 1, true) + // common.teardown() + }) }) }) } From fa3f6f443e44ec7879a7f93812e94c49b1fec2ed Mon Sep 17 00:00:00 2001 From: David Dias Date: Sat, 19 Sep 2015 17:42:39 +0100 Subject: [PATCH 05/20] Release v0.1.0. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2783eac..5978e0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "abstract-peer-routing", - "version": "0.0.0", + "version": "0.1.0", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", "repository": { "type": "git", From a170607acba8dfbcff36901c406408f22f653b46 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 25 Sep 2015 12:26:19 +0100 Subject: [PATCH 06/20] add teardown --- tests/base-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/base-test.js b/tests/base-test.js index fbdbf49..3768f1d 100644 --- a/tests/base-test.js +++ b/tests/base-test.js @@ -8,7 +8,7 @@ module.exports.all = function (test, common) { pr.findPeers(Id.create().toBytes(), function (err, peerQueue) { t.ifError(err) t.equal(peerQueue.length >= 1, true) - // common.teardown() + common.teardown() }) }) }) From 9b2678f7d22c4d5d25d23d6980536aab22504245 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 25 Sep 2015 12:26:28 +0100 Subject: [PATCH 07/20] Release v0.1.1. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5978e0a..cd88cdf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "abstract-peer-routing", - "version": "0.1.0", + "version": "0.1.1", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", "repository": { "type": "git", From ec2446f95152c6cbd5f4387cdc0f5fd9c75b2caf Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 11 Dec 2015 20:23:03 -0800 Subject: [PATCH 08/20] update name --- README.md | 10 +++++----- package.json | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8c922a1..5081bef 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -abstract-peer-routing +interface-peer-routing ===================== [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) > A test suite and interface you can use to implement a Peer Routing module for libp2p. -The primary goal of this module is to enable developers to pick and swap their Peer Routing module as they see fit for their libp2p installation, without having to go through shims or compatibility issues. This module and test suite were heavily inspired by abstract-blob-store and abstract-stream-muxer. +The primary goal of this module is to enable developers to pick and swap their Peer Routing module as they see fit for their libp2p installation, without having to go through shims or compatibility issues. This module and test suite were heavily inspired by abstract-blob-store and interface-stream-muxer. Publishing a test suite as a module lets multiple modules all ensure compatibility since they use the same test suite. @@ -17,9 +17,9 @@ The API is presented with both Node.js and Go primitives, however, there is not # Badge -Include this badge in your readme if you make a module that is compatible with the abstract-record-store API. You can validate this by running the tests. +Include this badge in your readme if you make a module that is compatible with the interface-record-store API. You can validate this by running the tests. -![](https://raw.githubusercontent.com/diasdavid/abstract-peer-routing/master/img/badge.png) +![](https://raw.githubusercontent.com/diasdavid/interface-peer-routing/master/img/badge.png) # How to use the battery of tests @@ -27,7 +27,7 @@ Include this badge in your readme if you make a module that is compatible with t ``` var tape = require('tape') -var tests = require('abstract-peer-routing/tests') +var tests = require('interface-peer-routing/tests') var YourPeerRouter = require('../src') var common = { diff --git a/package.json b/package.json index cd88cdf..1bd4616 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { - "name": "abstract-peer-routing", + "name": "interface-peer-routing", "version": "0.1.1", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", "repository": { "type": "git", - "url": "https://github.com/diasdavid/abstract-peer-routing.git" + "url": "https://github.com/diasdavid/interface-peer-routing.git" }, "keywords": [ "IPFS" @@ -12,9 +12,9 @@ "author": "David Dias ", "license": "MIT", "bugs": { - "url": "https://github.com/diasdavid/abstract-peer-routing/issues" + "url": "https://github.com/diasdavid/interface-peer-routing/issues" }, - "homepage": "https://github.com/diasdavid/abstract-peer-routing", + "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { "peer-id": "^0.3.3", From 922d7c52700f030a7637e3022fc085af1fdfaf76 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 11 Dec 2015 20:23:17 -0800 Subject: [PATCH 09/20] Release v0.1.2. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1bd4616..27ca212 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "interface-peer-routing", - "version": "0.1.1", + "version": "0.1.2", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", "repository": { "type": "git", From 00ee073792b053a8944381285f05879d8b2c2ca2 Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 11 Dec 2015 20:23:31 -0800 Subject: [PATCH 10/20] Release v0.1.3. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 27ca212..9ce81db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "interface-peer-routing", - "version": "0.1.2", + "version": "0.1.3", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", "repository": { "type": "git", From ca8635ca3935d7a99cc300219ce4a67a94f67f8e Mon Sep 17 00:00:00 2001 From: Sathya Narrayanan Date: Sat, 12 Dec 2015 11:19:02 +0530 Subject: [PATCH 11/20] Updates README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5081bef..37c935e 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Include this badge in your readme if you make a module that is compatible with t ## Node.js -``` +```javascript var tape = require('tape') var tests = require('interface-peer-routing/tests') var YourPeerRouter = require('../src') From 152d962cb664ad927b437905646afc435c5d1942 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 1 Sep 2016 22:07:17 +0200 Subject: [PATCH 12/20] chore(package): update timed-tape to version 0.1.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9ce81db..679bbc0 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,6 @@ "devDependencies": {}, "dependencies": { "peer-id": "^0.3.3", - "timed-tape": "^0.1.0" + "timed-tape": "^0.1.1" } } From 969a7fe5a7efd0d6c2f6fdf22cf56c9ab11f5f66 Mon Sep 17 00:00:00 2001 From: Richard Littauer Date: Fri, 30 Sep 2016 14:42:13 -0400 Subject: [PATCH 13/20] Update README URLs based on HTTP redirects --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37c935e..63a33a5 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ The API is presented with both Node.js and Go primitives, however, there is not # Modules that implement the interface -- https://github.com/diasdavid/node-ipfs-kad-router +- https://github.com/libp2p/js-libp2p-kad-routing # Badge From c679610eec25e0b48eaf7df518537ee2b572009c Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 3 Nov 2016 08:56:37 +0100 Subject: [PATCH 14/20] chore(package): update peer-id to version 0.8.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 679bbc0..3be4feb 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { - "peer-id": "^0.3.3", + "peer-id": "^0.8.0", "timed-tape": "^0.1.1" } } From 4bfd1595defcb7b73af67d0a1a949aa455c5bec7 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Sun, 18 Dec 2016 09:10:43 +0100 Subject: [PATCH 15/20] chore(package): update peer-id to version 0.8.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3be4feb..27473cb 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { - "peer-id": "^0.8.0", + "peer-id": "^0.8.1", "timed-tape": "^0.1.1" } } From 41b297a73a5cbf9a37cd656f980ad35cea1a4400 Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 9 Feb 2017 08:54:25 -0800 Subject: [PATCH 16/20] chore: ^ to ~ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 27473cb..d7c0e0f 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { - "peer-id": "^0.8.1", + "peer-id": "~0.8.2", "timed-tape": "^0.1.1" } } From 7fb08158a2ed90d81068a2615818377686129e98 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 3 Apr 2017 14:34:08 +0200 Subject: [PATCH 17/20] chore(package): update peer-id to version 0.8.7 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d7c0e0f..63b16ed 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { - "peer-id": "~0.8.2", + "peer-id": "~0.8.7", "timed-tape": "^0.1.1" } } From bc661cbdc45d9372fd9ef66959f7367e2a0d6587 Mon Sep 17 00:00:00 2001 From: David Dias Date: Tue, 20 Feb 2018 10:01:51 +0000 Subject: [PATCH 18/20] docs: update and polish the readme --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 63a33a5..3ab524b 100644 --- a/README.md +++ b/README.md @@ -13,13 +13,15 @@ The API is presented with both Node.js and Go primitives, however, there is not # Modules that implement the interface -- https://github.com/libp2p/js-libp2p-kad-routing +- [JavaScript libp2p-kad-dht](https://github.com/libp2p/js-libp2p-kad-dht) +- [JavaScript libp2p-delegated-peer-routing](https://github.com/libp2p/js-libp2p-delegated-peer-routing) +- [JavaScript libp2p-kad-routing](https://github.com/libp2p/js-libp2p-kad-routing) # Badge Include this badge in your readme if you make a module that is compatible with the interface-record-store API. You can validate this by running the tests. -![](https://raw.githubusercontent.com/diasdavid/interface-peer-routing/master/img/badge.png) +![](https://raw.githubusercontent.com/libp2p/interface-peer-routing/master/img/badge.png) # How to use the battery of tests @@ -44,13 +46,13 @@ tests(tape, common) ## Go -> WIP +> WIP - The go-libp2p implementation does not have a test suite to be used, yet. # API -A valid (read: that follows this abstraction) stream muxer, must implement the following API. +A valid (read: that follows this abstraction) Peer Routing module must implement the following API. -### Find peers 'responsible' or 'closest' to a given key +### `.findPeers` - Find peers 'responsible' or 'closest' to a given key - `Node.js` peerRouting.findPeers(key, function (err, peersPriorityQueue) {}) From 121981cafc22f19902db65ed89109791aa11b1f0 Mon Sep 17 00:00:00 2001 From: Vasco Santos Date: Wed, 31 Oct 2018 13:41:51 +0000 Subject: [PATCH 19/20] docs: add lead-maintainer --- README.md | 4 ++++ package.json | 1 + 2 files changed, 5 insertions(+) diff --git a/README.md b/README.md index 3ab524b..5556d58 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,10 @@ Publishing a test suite as a module lets multiple modules all ensure compatibili The API is presented with both Node.js and Go primitives, however, there is not actual limitations for it to be extended for any other language, pushing forward the cross compatibility and interop through diferent stacks. +## Lead Maintainer + +[Vasco Santos](https://github.com/vasco-santos). + # Modules that implement the interface - [JavaScript libp2p-kad-dht](https://github.com/libp2p/js-libp2p-kad-dht) diff --git a/package.json b/package.json index 63b16ed..dd0926a 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "interface-peer-routing", "version": "0.1.3", "description": "A test suite and interface you can use to implement a Peer Routing for libp2p.", + "leadMaintainer": "Vasco Santos ", "repository": { "type": "git", "url": "https://github.com/diasdavid/interface-peer-routing.git" From d7f5c2fad28213a1c5d0bd35cf067f0c38b1ec91 Mon Sep 17 00:00:00 2001 From: Vasco Santos Date: Fri, 26 Apr 2019 14:03:49 +0100 Subject: [PATCH 20/20] chore: add discourse badge (#19) --- README.md | 6 +++++- package.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5556d58..038abab 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ interface-peer-routing ===================== -[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) +[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://protocol.ai) +[![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/) +[![](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p) +[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io) +[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard) > A test suite and interface you can use to implement a Peer Routing module for libp2p. diff --git a/package.json b/package.json index dd0926a..04fcf4c 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "homepage": "https://github.com/diasdavid/interface-peer-routing", "devDependencies": {}, "dependencies": { - "peer-id": "~0.8.7", + "peer-id": "~0.12.2", "timed-tape": "^0.1.1" } }