Skip to content

Commit 815a85d

Browse files
committed
Merge pull request #3 from diasdavid/example/using-swarm
using swarm example
2 parents d79abcc + c4b6de1 commit 815a85d

File tree

5 files changed

+76
-1
lines changed

5 files changed

+76
-1
lines changed

examples/level1-swarm/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Using libp2p-swarm
2+
==================
3+
4+

examples/level1-swarm/node-1.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
var Swarm = require('libp2p-swarm')
2+
var tcp = require('libp2p-tcp')
3+
var multiaddr = require('multiaddr')
4+
var Id = require('peer-id')
5+
var Spdy = require('libp2p-spdy')
6+
var Libp2p = require('../../src')
7+
var Peer = require('peer-info')
8+
9+
// set up
10+
11+
var mh = multiaddr('/ip4/127.0.0.1/tcp/8010')
12+
var p = new Peer(Id.create(), [])
13+
var sw = new Swarm(p)
14+
15+
// create a libp2p node
16+
17+
var node = new Libp2p(sw)
18+
19+
node.swarm.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8010}, function () {
20+
// Ready to receive incoming connections
21+
22+
sw.addStreamMuxer('spdy', Spdy, {})
23+
24+
// dial to another node
25+
26+
var mh2 = multiaddr('/ip4/127.0.0.1/tcp/8020')
27+
var p2 = new Peer(Id.create(), [mh2])
28+
29+
node.swarm.dial(p2, {}, '/sparkles/1.0.0', function (err, conn) {
30+
if (err) {
31+
return console.error(err)
32+
}
33+
34+
console.log('-> connection is ready')
35+
process.stdin.pipe(conn).pipe(process.stdout)
36+
})
37+
})

examples/level1-swarm/node-2.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
var Swarm = require('libp2p-swarm')
2+
var tcp = require('libp2p-tcp')
3+
var multiaddr = require('multiaddr')
4+
var Id = require('peer-id')
5+
var Spdy = require('libp2p-spdy')
6+
var Libp2p = require('../../src')
7+
var Peer = require('peer-info')
8+
9+
// set up
10+
11+
var mh = multiaddr('/ip4/127.0.0.1/tcp/8020')
12+
var p = new Peer(Id.create(), [])
13+
var sw = new Swarm(p)
14+
15+
sw.addTransport('tcp', tcp, {multiaddr: mh}, {}, {port: 8020}, function () {
16+
// Ready to receive incoming connections
17+
18+
sw.addStreamMuxer('spdy', Spdy, {})
19+
20+
// create a libp2p node
21+
22+
var node = new Libp2p(sw)
23+
24+
// handle/mount a protocol
25+
26+
node.swarm.handleProtocol('/sparkles/1.0.0', function (conn) {
27+
process.stdin.pipe(conn).pipe(process.stdout)
28+
})
29+
})

package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
"devDependencies": {
2727
"code": "^1.5.0",
2828
"lab": "^5.17.0",
29+
"libp2p-spdy": "^0.1.0",
30+
"libp2p-swarm": "^0.5.5",
31+
"libp2p-tcp": "^0.1.2",
32+
"multiaddr": "^1.1.1",
33+
"peer-id": "^0.4.0",
34+
"peer-info": "^0.4.0",
2935
"pre-commit": "^1.1.1",
3036
"standard": "^5.3.1"
3137
}

src/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
exports = module.exports = Libp2p
32

43
function Libp2p (swarm, peerRouting, recordStore) {

0 commit comments

Comments
 (0)