mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-03-30 15:08:28 +00:00
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
import { multiaddr } from '@multiformats/multiaddr'
|
|
|
|
const defaultFilter = () => true
|
|
|
|
const isBrowser = () => typeof window !== 'undefined'
|
|
|
|
const connectIpfsNodes = async (ipfs1, ipfs2, options = {
|
|
filter: defaultFilter
|
|
}) => {
|
|
if (isBrowser()) {
|
|
const relayId = '12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE'
|
|
|
|
await ipfs1.libp2p.dial(multiaddr(`/ip4/127.0.0.1/tcp/12345/ws/p2p/${relayId}`))
|
|
await ipfs2.libp2p.dial(multiaddr(`/ip4/127.0.0.1/tcp/12345/ws/p2p/${relayId}`))
|
|
|
|
const a1 = multiaddr(`/ip4/127.0.0.1/tcp/12345/ws/p2p/${relayId}/p2p-circuit/p2p/${ipfs1.libp2p.peerId.toString()}`)
|
|
const a2 = multiaddr(`/ip4/127.0.0.1/tcp/12345/ws/p2p/${relayId}/p2p-circuit/p2p/${ipfs2.libp2p.peerId.toString()}`)
|
|
|
|
await ipfs2.libp2p.dial(a1)
|
|
await ipfs1.libp2p.dial(a2)
|
|
} else {
|
|
await ipfs2.libp2p.peerStore.save(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
|
await ipfs2.libp2p.dial(ipfs1.libp2p.peerId)
|
|
}
|
|
|
|
return new Promise((resolve) => {
|
|
setTimeout(() => {
|
|
resolve()
|
|
}, 1000)
|
|
})
|
|
}
|
|
|
|
export default connectIpfsNodes
|