docs: use Libp2p.create() in examples (#811) (#814)

This commit is contained in:
a1300 2020-11-30 11:15:09 +01:00 committed by GitHub
parent e9e4b731a5
commit 73204958ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 67 additions and 47 deletions

View File

@ -114,12 +114,25 @@ For Libp2p configurations and modules details read the [Configuration Document](
```js ```js
const Libp2p = require('libp2p') const Libp2p = require('libp2p')
const TCP = require('libp2p-tcp')
const MPLEX = require('libp2p-mplex')
const { NOISE } = require('libp2p-noise')
// specify options async function main () {
const options = {} // specify options
const options = {
modules: {
transport: [TCP],
streamMuxer: [MPLEX],
connEncryption: [NOISE]
}
}
// create libp2p // create libp2p
const libp2p = await Libp2p.create(options) const libp2p = await Libp2p.create(options)
}
main()
``` ```
Note: The [`PeerId`][peer-id] option is not required and will be generated if it is not provided. Note: The [`PeerId`][peer-id] option is not required and will be generated if it is not provided.
@ -131,12 +144,30 @@ As an alternative, it is possible to create a Libp2p instance with the construct
```js ```js
const Libp2p = require('libp2p') const Libp2p = require('libp2p')
const TCP = require('libp2p-tcp')
const MPLEX = require('libp2p-mplex')
const { NOISE } = require('libp2p-noise')
const PeerId = require('peer-id')
// specify options async function main () {
const options = {} const peerId = await PeerId.create();
// create libp2p // specify options
const libp2p = new Libp2p(options) // peerId is required when Libp2p is instantiated via the constructor
const options = {
peerId,
modules: {
transport: [TCP],
streamMuxer: [MPLEX],
connEncryption: [NOISE]
}
}
// create libp2p
const libp2p = new Libp2p(options)
}
main()
``` ```
Required keys in the `options` object: Required keys in the `options` object:

View File

@ -3,7 +3,7 @@
const PeerId = require('peer-id') const PeerId = require('peer-id')
const multiaddr = require('multiaddr') const multiaddr = require('multiaddr')
const Node = require('./libp2p-bundle') const createLibp2p = require('./libp2p-bundle')
const { stdinToStream, streamToConsole } = require('./stream') const { stdinToStream, streamToConsole } = require('./stream')
async function run() { async function run() {
@ -13,7 +13,7 @@ async function run() {
]) ])
// Create a new libp2p node on localhost with a randomly chosen port // Create a new libp2p node on localhost with a randomly chosen port
const nodeDialer = new Node({ const nodeDialer = await createLibp2p({
peerId: idDialer, peerId: idDialer,
addresses: { addresses: {
listen: ['/ip4/0.0.0.0/tcp/0'] listen: ['/ip4/0.0.0.0/tcp/0']

View File

@ -7,21 +7,16 @@ const { NOISE } = require('libp2p-noise')
const defaultsDeep = require('@nodeutils/defaults-deep') const defaultsDeep = require('@nodeutils/defaults-deep')
const libp2p = require('../../..') const libp2p = require('../../..')
class Node extends libp2p { async function createLibp2p(_options) {
constructor (_options) { const defaults = {
const defaults = { modules: {
modules: { transport: [TCP, WS],
transport: [ streamMuxer: [mplex],
TCP, connEncryption: [NOISE],
WS },
],
streamMuxer: [ mplex ],
connEncryption: [ NOISE ]
}
}
super(defaultsDeep(_options, defaults))
} }
return libp2p.create(defaultsDeep(_options, defaults))
} }
module.exports = Node module.exports = createLibp2p

View File

@ -2,13 +2,13 @@
/* eslint-disable no-console */ /* eslint-disable no-console */
const PeerId = require('peer-id') const PeerId = require('peer-id')
const Node = require('./libp2p-bundle.js') const createLibp2p = require('./libp2p-bundle.js')
const { stdinToStream, streamToConsole } = require('./stream') const { stdinToStream, streamToConsole } = require('./stream')
async function run() { async function run() {
// Create a new libp2p node with the given multi-address // Create a new libp2p node with the given multi-address
const idListener = await PeerId.createFromJSON(require('./peer-id-listener')) const idListener = await PeerId.createFromJSON(require('./peer-id-listener'))
const nodeListener = new Node({ const nodeListener = await createLibp2p({
peerId: idListener, peerId: idListener,
addresses: { addresses: {
listen: ['/ip4/0.0.0.0/tcp/10333'] listen: ['/ip4/0.0.0.0/tcp/10333']

View File

@ -5,9 +5,8 @@
* Dialer Node * Dialer Node
*/ */
const multiaddr = require('multiaddr')
const PeerId = require('peer-id') const PeerId = require('peer-id')
const Node = require('./libp2p-bundle') const createLibp2p = require('./libp2p-bundle')
const pipe = require('it-pipe') const pipe = require('it-pipe')
async function run() { async function run() {
@ -17,7 +16,7 @@ async function run() {
]) ])
// Dialer // Dialer
const dialerNode = new Node({ const dialerNode = await createLibp2p({
addresses: { addresses: {
listen: ['/ip4/0.0.0.0/tcp/0'] listen: ['/ip4/0.0.0.0/tcp/0']
}, },

View File

@ -8,21 +8,16 @@ const { NOISE } = require('libp2p-noise')
const defaultsDeep = require('@nodeutils/defaults-deep') const defaultsDeep = require('@nodeutils/defaults-deep')
const libp2p = require('../../..') const libp2p = require('../../..')
class Node extends libp2p { async function createLibp2p(_options) {
constructor (_options) { const defaults = {
const defaults = { modules: {
modules: { transport: [TCP, WS],
transport: [ streamMuxer: [mplex],
TCP, connEncryption: [NOISE],
WS },
],
streamMuxer: [ mplex ],
connEncryption: [ NOISE ]
}
}
super(defaultsDeep(_options, defaults))
} }
return libp2p.create(defaultsDeep(_options, defaults))
} }
module.exports = Node module.exports = createLibp2p

View File

@ -6,14 +6,14 @@
*/ */
const PeerId = require('peer-id') const PeerId = require('peer-id')
const Node = require('./libp2p-bundle') const createLibp2p = require('./libp2p-bundle')
const pipe = require('it-pipe') const pipe = require('it-pipe')
async function run() { async function run() {
const listenerId = await PeerId.createFromJSON(require('./id-l')) const listenerId = await PeerId.createFromJSON(require('./id-l'))
// Listener libp2p node // Listener libp2p node
const listenerNode = new Node({ const listenerNode = await createLibp2p({
addresses: { addresses: {
listen: ['/ip4/0.0.0.0/tcp/10333'] listen: ['/ip4/0.0.0.0/tcp/10333']
}, },