js-libp2p/examples/delegated-routing/src/libp2p-configuration.js

72 lines
1.6 KiB
JavaScript
Raw Normal View History

// eslint-disable-next-line
'use strict'
const Libp2p = require('libp2p')
const Websockets = require('libp2p-websockets')
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')
2019-12-10 19:40:39 +01:00
export default function Libp2pConfiguration ({peerInfo}) {
const wrtcstar = new WebRTCStar({id: peerInfo.id})
const delegatedApiOptions = {
2019-12-10 19:40:39 +01:00
host: '127.0.0.1',
protocol: 'http',
2019-12-10 19:40:39 +01:00
port: '5001'
}
return new Libp2p({
peerInfo,
// 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: [
2019-12-10 19:40:39 +01:00
wrtcstar.discovery
],
transport: [
wrtcstar,
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
}
}
}
})
}