using swarm example

License: MIT
Signed-off-by: David Dias <daviddias.p@gmail.com>
This commit is contained in:
David Dias 2015-12-10 15:40:26 -08:00
parent d79abccb85
commit 2c48724db7
4 changed files with 70 additions and 0 deletions

View File

View File

@ -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)
})
})

View File

@ -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)
})
})

View File

@ -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"
}