mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-05-03 14:32:18 +00:00
68 lines
1.5 KiB
JavaScript
68 lines
1.5 KiB
JavaScript
// 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')
|
|
|
|
export default function Libp2pConfiguration ({peerId}) {
|
|
const delegatedApiOptions = {
|
|
protocol: 'https',
|
|
port: 443,
|
|
host: 'node0.delegate.ipfs.io'
|
|
}
|
|
|
|
return new Libp2p({
|
|
peerId,
|
|
// Lets limit the connection managers peers and have it check peer health less frequently
|
|
connectionManager: {
|
|
maxPeers: 10,
|
|
pollInterval: 5000
|
|
},
|
|
modules: {
|
|
contentRouting: [
|
|
new DelegatedContentRouter(peerId, delegatedApiOptions)
|
|
],
|
|
peerRouting: [
|
|
new DelegatedPeerRouter(delegatedApiOptions)
|
|
],
|
|
transport: [
|
|
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
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|