From d7bb476858bfde2ce4512d528cffa46f51234720 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 5 Feb 2024 06:39:01 -0800 Subject: [PATCH] fix(circuit-relay): Removing CR transport if node is configured for direct connection --- src/adapters/ipfs/ipfs.js | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/adapters/ipfs/ipfs.js b/src/adapters/ipfs/ipfs.js index bcdfac9..9ec6d04 100644 --- a/src/adapters/ipfs/ipfs.js +++ b/src/adapters/ipfs/ipfs.js @@ -158,6 +158,26 @@ class IpfsAdapter { console.log('Helia (IPFS) node IS NOT configured as Circuit Relay') } + // Configure transports + let transports + if (process.env.CONNECT_PREF === 'direct') { + transports = [ + tcp(), + webSockets(), + webRTC() + ] + } else { + transports = [ + tcp(), + webSockets(), + circuitRelayTransport({ + discoverRelays: 3, + reservationConcurrency: 3 + }), + webRTC() + ] + } + // libp2p is the networking layer that underpins Helia const libp2p = await this.createLibp2p({ peerId, @@ -170,15 +190,7 @@ class IpfsAdapter { '/webrtc' ] }, - transports: [ - tcp(), - webSockets(), - circuitRelayTransport({ - discoverRelays: 3, - reservationConcurrency: 3 - }), - webRTC() - ], + transports, connectionEncryption: [ noise() ],