mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-10-07 22:57:07 +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)
|
const __dirname = path.dirname(__filename)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
entry: glob.sync('./test/**/*.js', { ignore: [] }),
|
entry: glob.sync('./test/**/*.js', { ignore: ['./test/utils/relay.js'] }),
|
||||||
output: {
|
output: {
|
||||||
filename: '../test/browser/bundle.js'
|
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",
|
"mocha-headless-chrome": "^4.0.0",
|
||||||
"open-cli": "^7.2.0",
|
"open-cli": "^7.2.0",
|
||||||
"path-browserify": "^1.0.1",
|
"path-browserify": "^1.0.1",
|
||||||
|
"playwright-test": "^12.3.4",
|
||||||
"rimraf": "^5.0.1",
|
"rimraf": "^5.0.1",
|
||||||
"standard": "^17.1.0",
|
"standard": "^17.1.0",
|
||||||
"webpack": "^5.88.2",
|
"webpack": "^5.88.2",
|
||||||
|
@ -9,13 +9,15 @@ const connectIpfsNodes = async (ipfs1, ipfs2, options = {
|
|||||||
}) => {
|
}) => {
|
||||||
if (isBrowser()) {
|
if (isBrowser()) {
|
||||||
ipfs1.libp2p.addEventListener('self:peer:update', async (event) => {
|
ipfs1.libp2p.addEventListener('self:peer:update', async (event) => {
|
||||||
await ipfs2.libp2p.peerStore.patch(ipfs1.libp2p.peerId, { multiaddrs: ipfs1.libp2p.getMultiaddrs().filter(options.filter) })
|
if (ipfs1.libp2p.getMultiaddrs().length > 0) {
|
||||||
await ipfs2.libp2p.dial(ipfs1.libp2p.peerId)
|
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 {
|
} 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)
|
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