From 2c48724db77e0d5148ca39f4e5a4b430c097108a Mon Sep 17 00:00:00 2001 From: David Dias Date: Thu, 10 Dec 2015 15:40:26 -0800 Subject: [PATCH 1/2] using swarm example License: MIT Signed-off-by: David Dias --- examples/using-swarm/README.md | 0 examples/using-swarm/node-1.js | 35 ++++++++++++++++++++++++++++++++++ examples/using-swarm/node-2.js | 29 ++++++++++++++++++++++++++++ package.json | 6 ++++++ 4 files changed, 70 insertions(+) create mode 100644 examples/using-swarm/README.md create mode 100644 examples/using-swarm/node-1.js create mode 100644 examples/using-swarm/node-2.js diff --git a/examples/using-swarm/README.md b/examples/using-swarm/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/using-swarm/node-1.js b/examples/using-swarm/node-1.js new file mode 100644 index 0000000000..5fc8cdb46d --- /dev/null +++ b/examples/using-swarm/node-1.js @@ -0,0 +1,35 @@ +var Swarm = require('libp2p-swarm') +var tcp = require('libp2p-tcp') +var multiaddr = require('multiaddr') +var Id = require('peer-id') +var Spdy = require('libp2p-spdy') +var Libp2p = require('../../src') +var Peer = require('peer-info') + +// set up + +var mh = multiaddr('/ip4/127.0.0.1/tcp/8010') +var p = new Peer(Id.create(), []) +var sw = new Swarm(p) + +sw.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8010}, function () { + // Ready to receive incoming connections + + sw.addStreamMuxer('spdy', Spdy, {}) + + // create a libp2p node + + var node = new Libp2p(sw) + + // dial to another node + + var mh2 = multiaddr('/ip4/127.0.0.1/tcp/8020') + var p2 = new Peer(Id.create(), [mh2]) + + node.swarm.dial(p2, {}, '/sparkles/1.0.0', function (err, conn) { + if (err) { + return console.error(err) + } + process.stdin.pipe(conn).pipe(process.stdout) + }) +}) diff --git a/examples/using-swarm/node-2.js b/examples/using-swarm/node-2.js new file mode 100644 index 0000000000..25af2e356b --- /dev/null +++ b/examples/using-swarm/node-2.js @@ -0,0 +1,29 @@ +var Swarm = require('libp2p-swarm') +var tcp = require('libp2p-tcp') +var multiaddr = require('multiaddr') +var Id = require('peer-id') +var Spdy = require('libp2p-spdy') +var Libp2p = require('../../src') +var Peer = require('peer-info') + +// set up + +var mh = multiaddr('/ip4/127.0.0.1/tcp/8020') +var p = new Peer(Id.create(), []) +var sw = new Swarm(p) + +sw.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8020}, function () { + // Ready to receive incoming connections + + sw.addStreamMuxer('spdy', Spdy, {}) + + // create a libp2p node + + var node = new Libp2p(sw) + + // handle/mount a protocol + + node.swarm.handleProtocol('/sparkles/1.0.0', function (conn) { + process.stdin.pipe(conn).pipe(process.stdout) + }) +}) diff --git a/package.json b/package.json index 4bf29a92e5..f139322a35 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,12 @@ "devDependencies": { "code": "^1.5.0", "lab": "^5.17.0", + "libp2p-spdy": "^0.1.0", + "libp2p-swarm": "^0.5.5", + "libp2p-tcp": "^0.1.2", + "multiaddr": "^1.1.1", + "peer-id": "^0.4.0", + "peer-info": "^0.4.0", "pre-commit": "^1.1.1", "standard": "^5.3.1" } From c4b6de1db6bf9ebef171f77da8e864d74f914e1c Mon Sep 17 00:00:00 2001 From: David Dias Date: Fri, 11 Dec 2015 21:21:07 -0800 Subject: [PATCH 2/2] notes License: MIT Signed-off-by: David Dias --- examples/level1-swarm/README.md | 4 ++++ examples/{using-swarm => level1-swarm}/node-1.js | 12 +++++++----- examples/{using-swarm => level1-swarm}/node-2.js | 0 examples/using-swarm/README.md | 0 src/index.js | 1 - 5 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 examples/level1-swarm/README.md rename examples/{using-swarm => level1-swarm}/node-1.js (80%) rename examples/{using-swarm => level1-swarm}/node-2.js (100%) delete mode 100644 examples/using-swarm/README.md diff --git a/examples/level1-swarm/README.md b/examples/level1-swarm/README.md new file mode 100644 index 0000000000..293f632229 --- /dev/null +++ b/examples/level1-swarm/README.md @@ -0,0 +1,4 @@ +Using libp2p-swarm +================== + + diff --git a/examples/using-swarm/node-1.js b/examples/level1-swarm/node-1.js similarity index 80% rename from examples/using-swarm/node-1.js rename to examples/level1-swarm/node-1.js index 5fc8cdb46d..3489b06f1d 100644 --- a/examples/using-swarm/node-1.js +++ b/examples/level1-swarm/node-1.js @@ -12,14 +12,14 @@ var mh = multiaddr('/ip4/127.0.0.1/tcp/8010') var p = new Peer(Id.create(), []) var sw = new Swarm(p) -sw.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8010}, function () { - // Ready to receive incoming connections +// create a libp2p node - sw.addStreamMuxer('spdy', Spdy, {}) +var node = new Libp2p(sw) - // create a libp2p node +node.swarm.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8010}, function () { + // Ready to receive incoming connections - var node = new Libp2p(sw) + sw.addStreamMuxer('spdy', Spdy, {}) // dial to another node @@ -30,6 +30,8 @@ sw.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8010}, function () { if (err) { return console.error(err) } + + console.log('-> connection is ready') process.stdin.pipe(conn).pipe(process.stdout) }) }) diff --git a/examples/using-swarm/node-2.js b/examples/level1-swarm/node-2.js similarity index 100% rename from examples/using-swarm/node-2.js rename to examples/level1-swarm/node-2.js diff --git a/examples/using-swarm/README.md b/examples/using-swarm/README.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/index.js b/src/index.js index 7f704ef832..65d95d884f 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,3 @@ - exports = module.exports = Libp2p function Libp2p (swarm, peerRouting, recordStore) {