mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-03-30 15:08:28 +00:00
test: Relay for web browser testing.
This commit is contained in:
parent
ec8b17352a
commit
f28aa476f7
@ -10,7 +10,7 @@ export default (env, argv) => {
|
||||
const __dirname = path.dirname(__filename)
|
||||
|
||||
return {
|
||||
entry: glob.sync('./test/**/*.js', { ignore: [] }),
|
||||
entry: glob.sync('./test/**/*.js', { ignore: ['./test/utils/relay.js'] }),
|
||||
output: {
|
||||
filename: '../test/browser/bundle.js'
|
||||
},
|
||||
|
1266
package-lock.json
generated
1266
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -41,6 +41,7 @@
|
||||
"mocha-headless-chrome": "^4.0.0",
|
||||
"open-cli": "^7.2.0",
|
||||
"path-browserify": "^1.0.1",
|
||||
"playwright-test": "^12.3.4",
|
||||
"rimraf": "^5.0.1",
|
||||
"standard": "^17.1.0",
|
||||
"webpack": "^5.88.2",
|
||||
|
@ -6,16 +6,18 @@ const isBrowser = () => typeof window !== 'undefined'
|
||||
|
||||
const connectIpfsNodes = async (ipfs1, ipfs2, options = {
|
||||
filter: defaultFilter
|
||||
}) => {
|
||||
}) => {
|
||||
if (isBrowser()) {
|
||||
ipfs1.libp2p.addEventListener('self:peer:update', async (event) => {
|
||||
await ipfs2.libp2p.peerStore.patch(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
||||
await ipfs2.libp2p.dial(ipfs1.libp2p.peerId)
|
||||
if (ipfs1.libp2p.getMultiaddrs().length > 0) {
|
||||
await ipfs2.libp2p.peerStore.save(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
||||
await ipfs2.libp2p.dial(ipfs1.libp2p.peerId)
|
||||
}
|
||||
})
|
||||
|
||||
await ipfs1.libp2p.dial(multiaddr('/ip4/127.0.0.1/tcp/43669/ws/p2p/12D3KooWKwtgL5GTathFbTDunVZKPmD1gTwnDCEPRyf7r8hdqwQw'))
|
||||
|
||||
await ipfs1.libp2p.dial(multiaddr('/ip4/127.0.0.1/tcp/12345/ws/p2p/16Uiu2HAkuzR9BJ2JHXxzanXUdP5ixbCPduFst2FNWsBsarGfgU1y'))
|
||||
} else {
|
||||
await ipfs2.libp2p.peerStore.patch(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
||||
await ipfs2.libp2p.peerStore.save(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
||||
await ipfs2.libp2p.dial(ipfs1.libp2p.peerId)
|
||||
}
|
||||
}
|
||||
|
41
test/utils/relay.js
Normal file
41
test/utils/relay.js
Normal file
@ -0,0 +1,41 @@
|
||||
import { mplex } from "@libp2p/mplex"
|
||||
import { createLibp2p } from "libp2p"
|
||||
import { noise } from "@chainsafe/libp2p-noise"
|
||||
import { circuitRelayServer } from 'libp2p/circuit-relay'
|
||||
import { webSockets } from '@libp2p/websockets'
|
||||
import * as filters from '@libp2p/websockets/filters'
|
||||
import { identifyService } from 'libp2p/identify'
|
||||
import testKeysPath from '../fixtures/test-keys-path.js'
|
||||
import { KeyStore } from '../../src/index.js'
|
||||
import { createFromPrivKey } from '@libp2p/peer-id-factory'
|
||||
import * as crypto from '@libp2p/crypto'
|
||||
|
||||
const keystore = await KeyStore({ path: testKeysPath })
|
||||
const keys = await keystore.getKey('userX')
|
||||
const peerId = await createFromPrivKey(keys)
|
||||
|
||||
const server = await createLibp2p({
|
||||
peerId,
|
||||
addresses: {
|
||||
listen: ['/ip4/0.0.0.0/tcp/12345/ws']
|
||||
},
|
||||
transports: [
|
||||
webSockets({
|
||||
filter: filters.all
|
||||
}),
|
||||
],
|
||||
connectionEncryption: [noise()],
|
||||
streamMuxers: [mplex()],
|
||||
services: {
|
||||
identify: identifyService(),
|
||||
relay: circuitRelayServer()
|
||||
}
|
||||
})
|
||||
|
||||
server.addEventListener('peer:disconnect', async event => {
|
||||
console.log('peer:disconnect', event.detail)
|
||||
server.peerStore.delete(event.detail)
|
||||
})
|
||||
|
||||
console.log("p2p addr: ", server.getMultiaddrs().map((ma) => ma.toString()))
|
||||
// generates a deterministic address: /ip4/127.0.0.1/tcp/33519/ws/p2p/16Uiu2HAmAyxRGfndGAHKaLugUNRG6vBZpgNVRv8yJxZMQEY6o9C7
|
Loading…
x
Reference in New Issue
Block a user