forked from mkg20001/libp2p-nodetrust
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathutils.js
57 lines (52 loc) · 1.34 KB
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'use strict'
const Peer = require('peer-info')
const Server = require('../server/src')
const Client = require('../src')
const Libp2p = require('libp2p')
const TCP = require('libp2p-tcp')
const WS = require('libp2p-websockets')
const MULTIPLEX = require('libp2p-multiplex')
const SPDY = require('libp2p-spdy')
const SECIO = require('libp2p-secio')
const Utils = module.exports = {
serverPeer: () => {
const id = global.ids[0]
const peer = new Peer(id)
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/8877/ws/ipfs/' + id.toB58String())
return peer
},
clientPeer: () => {
const id = global.ids[1]
const peer = new Peer(id)
peer.multiaddrs.add('/ip4/127.0.0.1/tcp/7788/ipfs/' + id.toB58String())
return peer
},
createServer: (config, cb) => {
config.id = Utils.serverPeer().id
const server = new Server(config)
server.start(cb)
return server
},
createClientSwarm: () => {
return new Libp2p({
transport: [
new TCP(),
new WS()
],
connection: {
muxer: [
MULTIPLEX,
SPDY
],
crypto: [SECIO]
}
}, Utils.clientPeer())
},
createClient: (config, cb) => {
config.node = Utils.serverPeer()
const swarm = Utils.createClientSwarm()
const client = new Client(swarm, config)
swarm.start(cb)
return [swarm, client]
}
}