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

68 lines
1.5 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')
2020-07-07 18:56:37 +02:00
export default function Libp2pConfiguration ({peerId}) {
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({
2020-07-07 18:56:37 +02:00
peerId,
// Lets limit the connection managers peers and have it check peer health less frequently
connectionManager: {
maxPeers: 10,
pollInterval: 5000
},
modules: {
contentRouting: [
2020-07-07 18:56:37 +02:00
new DelegatedContentRouter(peerId, delegatedApiOptions)
],
peerRouting: [
new DelegatedPeerRouter(delegatedApiOptions)
],
transport: [
2020-07-07 18:56:37 +02:00
WebRTCStar,
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
}
}
}
})
}