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

68 lines
1.5 KiB
JavaScript
Raw Permalink 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 = {
2020-07-08 14:06:35 +02:00
protocol: 'https',
port: 443,
host: 'node0.delegate.ipfs.io'
}
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
}
}
}
})
}