1
0
mirror of https://github.com/fluencelabs/js-libp2p synced 2025-06-22 13:31:32 +00:00
Files
examples
img
pdd
src
test
fixtures
switch
utils
bundle-browser.js
bundle-nodejs.js
constants.js
create-node.js
echo.js
try-echo.js
browser.js
circuit-relay.browser.js
circuit-relay.node.js
config.spec.js
content-routing.node.js
create.spec.js
dht.node.js
fsm.spec.js
get-peer-info.spec.js
multiaddr-trim.node.js
node.js
peer-discovery.node.js
peer-routing.node.js
ping.node.js
pnet.node.js
promisify.node.js
pubsub.node.js
stats.js
stream-muxing.node.js
transports.browser.js
transports.node.js
.aegir.js
.gitignore
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
ISSUE_TEMPLATE.md
LICENSE
OKR.md
PEER_DISCOVERY.md
README.md
RELEASE.md
package-list.json
package.json
js-libp2p/test/utils/create-node.js

42 lines
950 B
JavaScript
Raw Normal View History

/* eslint-env mocha */
'use strict'
const chai = require('chai')
chai.use(require('dirty-chai'))
const PeerInfo = require('peer-info')
const PeerId = require('peer-id')
const waterfall = require('async/waterfall')
const Node = require('./bundle-nodejs')
function createNode (multiaddrs, options, callback) {
if (typeof options === 'function') {
callback = options
options = {}
}
options = options || {}
if (!Array.isArray(multiaddrs)) {
multiaddrs = [multiaddrs]
}
waterfall([
(cb) => createPeerInfo(cb),
(peerInfo, cb) => {
multiaddrs.map((ma) => peerInfo.multiaddrs.add(ma))
options.peerInfo = peerInfo
cb(null, new Node(options))
}
], callback)
}
function createPeerInfo (callback) {
waterfall([
(cb) => PeerId.create({ bits: 512 }, cb),
(peerId, cb) => PeerInfo.create(peerId, cb)
], callback)
}
module.exports = createNode
module.exports.createPeerInfo = createPeerInfo