-
Notifications
You must be signed in to change notification settings - Fork 4
/
test-client.js
40 lines (36 loc) · 1.35 KB
/
test-client.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
'use strict'
/* eslint-disable no-console */
const Peer = require('peer-info')
const Id = require('peer-id')
let node
if (process.env.USE_LOCAL) {
node = new Peer(Id.createFromB58String('QmdhBbSG7Anhch4Ux2WhVmkLwaZUdKabZuBGsPewALbBJj'))
node.multiaddrs.add('/ip4/127.0.0.1/tcp/25893/ipfs/QmdhBbSG7Anhch4Ux2WhVmkLwaZUdKabZuBGsPewALbBJj')
} else {
node = require('./src/defaults').defaultNode
}
const {createClient} = require('./test/utils')
const multiaddr = require('multiaddr')
const fromMA = ma => {
const id = ma.toString().split('ipfs/').pop()
const pi = new Peer(Id.createFromB58String(id))
pi.multiaddrs.add(ma)
return pi
}
global.before = fnc => fnc(err => {
if (err) throw err
const [swarm, client] = createClient({node}, err => {
if (err) throw err
console.log('Getting certificate...')
client.start(err => {
if (err) throw err
swarm.peerInfo.multiaddrs.toArray().map(a => a.toString()).forEach(addr => {
console.log('Listening on %s', addr)
})
console.log('Dialing us...')
swarm.dial(fromMA(multiaddr(client._addedMAs[0])), console.log.bind(null, 'Dial over external address: %s'))
swarm.dial(fromMA(multiaddr('/ip4/127.0.0.1/tcp/' + client.wss.port + '/wss/ipfs/' + swarm.peerInfo.id.toB58String())), console.log.bind(null, 'Dial over localhost: %s'))
})
})
})
require('./test/load-ids')