mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-01 23:31:04 +00:00
* docs: update chat example readme * docs: update discovery test for autodial * docs: fix delegated routing example * docs: update echo example readme * docs: fix libp2p in the browser example * docs: update examples for peer/content routing * docs: update the pubsub example
77 lines
1.8 KiB
JavaScript
77 lines
1.8 KiB
JavaScript
// eslint-disable-next-line
|
|
'use strict'
|
|
|
|
const Libp2p = require('libp2p')
|
|
const Websockets = require('libp2p-websockets')
|
|
const WebSocketStar = require('libp2p-websocket-star')
|
|
const WebRTCStar = require('libp2p-webrtc-star')
|
|
const MPLEX = require('libp2p-mplex')
|
|
const SECIO = require('libp2p-secio')
|
|
const KadDHT = require('libp2p-kad-dht')
|
|
const DelegatedPeerRouter = require('libp2p-delegated-peer-routing')
|
|
const DelegatedContentRouter = require('libp2p-delegated-content-routing')
|
|
|
|
export default function Libp2pBundle ({peerInfo, peerBook}) {
|
|
const wrtcstar = new WebRTCStar({id: peerInfo.id})
|
|
const wsstar = new WebSocketStar({id: peerInfo.id})
|
|
const delegatedApiOptions = {
|
|
host: '0.0.0.0',
|
|
protocol: 'http',
|
|
port: '8080'
|
|
}
|
|
|
|
return new Libp2p({
|
|
peerInfo,
|
|
peerBook,
|
|
// Lets limit the connection managers peers and have it check peer health less frequently
|
|
connectionManager: {
|
|
maxPeers: 10,
|
|
pollInterval: 5000
|
|
},
|
|
modules: {
|
|
contentRouting: [
|
|
new DelegatedContentRouter(peerInfo.id, delegatedApiOptions)
|
|
],
|
|
peerRouting: [
|
|
new DelegatedPeerRouter(delegatedApiOptions)
|
|
],
|
|
peerDiscovery: [
|
|
wrtcstar.discovery,
|
|
wsstar.discovery
|
|
],
|
|
transport: [
|
|
wrtcstar,
|
|
wsstar,
|
|
Websockets
|
|
],
|
|
streamMuxer: [
|
|
MPLEX
|
|
],
|
|
connEncryption: [
|
|
SECIO
|
|
],
|
|
dht: KadDHT
|
|
},
|
|
config: {
|
|
peerDiscovery: {
|
|
autoDial: false,
|
|
webrtcStar: {
|
|
enabled: false
|
|
},
|
|
websocketStar: {
|
|
enabled: false
|
|
}
|
|
},
|
|
dht: {
|
|
enabled: false
|
|
},
|
|
relay: {
|
|
enabled: true,
|
|
hop: {
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|