From 2b466e29b6b5346a0c58684299132f1ae4ddbb76 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Mon, 16 Sep 2024 15:25:50 +0200 Subject: [PATCH 1/3] deps: update libp2p deps to v2 Updates examples to use the new libp2p release --- .../js-libp2p-example-browser-pubsub/index.js | 5 +-- .../package.json | 21 ++++++----- .../js-libp2p-example-browser-pubsub/relay.js | 8 ++--- .../test/index.spec.js | 2 +- examples/js-libp2p-example-chat/README.md | 5 +-- examples/js-libp2p-example-chat/package.json | 14 ++++---- examples/js-libp2p-example-chat/src/dialer.js | 36 ++++++++----------- examples/js-libp2p-example-chat/src/libp2p.js | 6 +++- .../js-libp2p-example-chat/src/listener.js | 12 +++---- .../src/peer-id-dialer.js | 5 --- .../src/peer-id-listener.js | 5 --- .../js-libp2p-example-circuit-relay/README.md | 6 ++-- .../js-libp2p-example-circuit-relay/dialer.js | 2 +- .../listener.js | 2 +- .../package.json | 14 ++++---- .../js-libp2p-example-circuit-relay/relay.js | 2 +- .../noise.js | 2 +- .../package.json | 10 +++--- .../plaintext.js | 2 +- .../1-echo.js | 2 +- .../2-request-response.js | 2 +- .../package.json | 11 +++--- .../package.json | 8 ++--- .../1-dht.js | 2 +- .../2-mdns.js | 5 ++- .../3-pubsub.js | 9 +++-- .../README.md | 2 +- .../package.json | 23 ++++++------ 28 files changed, 98 insertions(+), 125 deletions(-) delete mode 100644 examples/js-libp2p-example-chat/src/peer-id-dialer.js delete mode 100644 examples/js-libp2p-example-chat/src/peer-id-listener.js diff --git a/examples/js-libp2p-example-browser-pubsub/index.js b/examples/js-libp2p-example-browser-pubsub/index.js index ec67ed3..d458897 100644 --- a/examples/js-libp2p-example-browser-pubsub/index.js +++ b/examples/js-libp2p-example-browser-pubsub/index.js @@ -59,7 +59,7 @@ const libp2p = await createLibp2p({ }) ], // a connection encrypter is necessary to dial the relay - connectionEncryption: [noise()], + connectionEncrypters: [noise()], // a stream muxer is necessary to dial the relay streamMuxers: [yamux()], connectionGater: { @@ -75,9 +75,6 @@ const libp2p = await createLibp2p({ identify: identify(), pubsub: gossipsub(), dcutr: dcutr() - }, - connectionManager: { - minConnections: 0 } }) diff --git a/examples/js-libp2p-example-browser-pubsub/package.json b/examples/js-libp2p-example-browser-pubsub/package.json index c9d6451..20199a0 100644 --- a/examples/js-libp2p-example-browser-pubsub/package.json +++ b/examples/js-libp2p-example-browser-pubsub/package.json @@ -21,17 +21,16 @@ "test": "npm run build && test-browser-example test" }, "dependencies": { - "@chainsafe/libp2p-gossipsub": "^13.0.0", - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/circuit-relay-v2": "^1.0.4", - "@libp2p/dcutr": "^1.0.3", - "@libp2p/identify": "^2.1.0", - "@libp2p/mplex": "^10.1.0", - "@libp2p/webrtc": "^4.0.5", - "@libp2p/websockets": "^8.0.4", - "@multiformats/multiaddr": "^12.1.11", - "libp2p": "^1.0.8", + "@chainsafe/libp2p-gossipsub": "^14.0.0", + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/circuit-relay-v2": "^2.0.0", + "@libp2p/dcutr": "^2.0.0", + "@libp2p/identify": "^3.0.0", + "@libp2p/webrtc": "^5.0.0", + "@libp2p/websockets": "^9.0.0", + "@multiformats/multiaddr": "^12.3.1", + "libp2p": "^2.0.0", "vite": "^5.3.1" }, "devDependencies": { diff --git a/examples/js-libp2p-example-browser-pubsub/relay.js b/examples/js-libp2p-example-browser-pubsub/relay.js index 01af1a3..0fbcc52 100644 --- a/examples/js-libp2p-example-browser-pubsub/relay.js +++ b/examples/js-libp2p-example-browser-pubsub/relay.js @@ -4,7 +4,6 @@ import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' import { circuitRelayServer } from '@libp2p/circuit-relay-v2' import { identify } from '@libp2p/identify' -import { mplex } from '@libp2p/mplex' import { webSockets } from '@libp2p/websockets' import * as filters from '@libp2p/websockets/filters' import { createLibp2p } from 'libp2p' @@ -18,8 +17,8 @@ const server = await createLibp2p({ filter: filters.all }) ], - connectionEncryption: [noise()], - streamMuxers: [yamux(), mplex()], + connectionEncrypters: [noise()], + streamMuxers: [yamux()], services: { identify: identify(), relay: circuitRelayServer({ @@ -27,9 +26,6 @@ const server = await createLibp2p({ maxReservations: Infinity } }) - }, - connectionManager: { - minConnections: 0 } }) diff --git a/examples/js-libp2p-example-browser-pubsub/test/index.spec.js b/examples/js-libp2p-example-browser-pubsub/test/index.spec.js index 986bc0a..a004341 100644 --- a/examples/js-libp2p-example-browser-pubsub/test/index.spec.js +++ b/examples/js-libp2p-example-browser-pubsub/test/index.spec.js @@ -36,7 +36,7 @@ async function spawnRelay () { filter: filters.all }) ], - connectionEncryption: [noise()], + connectionEncrypters: [noise()], streamMuxers: [yamux()], services: { identify: identify(), diff --git a/examples/js-libp2p-example-chat/README.md b/examples/js-libp2p-example-chat/README.md index 9c64df2..25ffa0b 100644 --- a/examples/js-libp2p-example-chat/README.md +++ b/examples/js-libp2p-example-chat/README.md @@ -26,8 +26,9 @@ 1. Run the listener in window 1, `node listener.js` 2. Run the dialer in window 2, `node dialer.js` -3. Type a message in either window and hit *enter* -4. Tell yourself secrets to your hearts content! +3. Wait until the two peers discover each other +4. Type a message in either window and hit *enter* +5. Tell yourself secrets to your hearts content! ## License diff --git a/examples/js-libp2p-example-chat/package.json b/examples/js-libp2p-example-chat/package.json index 7ef5c68..6499250 100644 --- a/examples/js-libp2p-example-chat/package.json +++ b/examples/js-libp2p-example-chat/package.json @@ -16,17 +16,17 @@ "test": "test-node-example test/*" }, "dependencies": { - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/peer-id-factory": "^4.0.0", - "@libp2p/tcp": "^9.0.4", - "@libp2p/websockets": "^8.0.4", - "@multiformats/multiaddr": "^12.1.11", + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/mdns": "^11.0.1", + "@libp2p/tcp": "^10.0.0", + "@libp2p/websockets": "^9.0.0", + "@multiformats/multiaddr": "^12.3.1", "@nodeutils/defaults-deep": "^1.1.0", "it-length-prefixed": "^9.0.1", "it-map": "^3.0.3", "it-pipe": "^3.0.1", - "libp2p": "^1.0.8", + "libp2p": "^2.0.0", "p-defer": "^4.0.0", "uint8arrays": "^5.1.0" }, diff --git a/examples/js-libp2p-example-chat/src/dialer.js b/examples/js-libp2p-example-chat/src/dialer.js index 956492d..4c5808e 100644 --- a/examples/js-libp2p-example-chat/src/dialer.js +++ b/examples/js-libp2p-example-chat/src/dialer.js @@ -1,21 +1,11 @@ /* eslint-disable no-console */ -import { createFromJSON } from '@libp2p/peer-id-factory' -import { multiaddr } from '@multiformats/multiaddr' import { createLibp2p } from './libp2p.js' -import peerIdDialerJson from './peer-id-dialer.js' -import peerIdListenerJson from './peer-id-listener.js' import { stdinToStream, streamToConsole } from './stream.js' async function run () { - const [idDialer, idListener] = await Promise.all([ - createFromJSON(peerIdDialerJson), - createFromJSON(peerIdListenerJson) - ]) - // Create a new libp2p node on localhost with a randomly chosen port - const nodeDialer = await createLibp2p({ - peerId: idDialer, + const dialer = await createLibp2p({ addresses: { listen: ['/ip4/0.0.0.0/tcp/0'] } @@ -23,21 +13,25 @@ async function run () { // Output this node's address console.log('Dialer ready, listening on:') - nodeDialer.getMultiaddrs().forEach((ma) => { + dialer.getMultiaddrs().forEach((ma) => { console.log(ma.toString()) }) - // Dial to the remote peer (the "listener") - const listenerMa = multiaddr(`/ip4/127.0.0.1/tcp/10333/p2p/${idListener.toString()}`) - const stream = await nodeDialer.dialProtocol(listenerMa, '/chat/1.0.0') + dialer.addEventListener('peer:discovery', (evt) => { + console.info('peer:discovery', evt.detail) - console.log('Dialer dialed to listener on protocol: /chat/1.0.0') - console.log('Type a message and see what happens') + // Dial to the remote peer (the "listener") + dialer.dialProtocol(evt.detail.multiaddrs, '/chat/1.0.0') + .then(stream => { + console.log('Dialer dialed to listener on protocol: /chat/1.0.0') + console.log('Type a message and see what happens') - // Send stdin to the stream - stdinToStream(stream) - // Read the stream and output to console - streamToConsole(stream) + // Send stdin to the stream + stdinToStream(stream) + // Read the stream and output to console + streamToConsole(stream) + }) + }) } run() diff --git a/examples/js-libp2p-example-chat/src/libp2p.js b/examples/js-libp2p-example-chat/src/libp2p.js index 40666e7..5d78293 100644 --- a/examples/js-libp2p-example-chat/src/libp2p.js +++ b/examples/js-libp2p-example-chat/src/libp2p.js @@ -4,6 +4,7 @@ import { tcp } from '@libp2p/tcp' import { webSockets } from '@libp2p/websockets' import defaultsDeep from '@nodeutils/defaults-deep' import { createLibp2p as create } from 'libp2p' +import { mdns } from '@libp2p/mdns' export async function createLibp2p (_options) { const defaults = { @@ -14,8 +15,11 @@ export async function createLibp2p (_options) { streamMuxers: [ yamux() ], - connectionEncryption: [ + connectionEncrypters: [ noise() + ], + peerDiscovery: [ + mdns() ] } diff --git a/examples/js-libp2p-example-chat/src/listener.js b/examples/js-libp2p-example-chat/src/listener.js index 7397695..5311be9 100644 --- a/examples/js-libp2p-example-chat/src/listener.js +++ b/examples/js-libp2p-example-chat/src/listener.js @@ -1,28 +1,24 @@ /* eslint-disable no-console */ -import { createFromJSON } from '@libp2p/peer-id-factory' import { createLibp2p } from './libp2p.js' -import peerIdListenerJson from './peer-id-listener.js' import { stdinToStream, streamToConsole } from './stream.js' async function run () { // Create a new libp2p node with the given multi-address - const idListener = await createFromJSON(peerIdListenerJson) - const nodeListener = await createLibp2p({ - peerId: idListener, + const listener = await createLibp2p({ addresses: { listen: ['/ip4/0.0.0.0/tcp/10333'] } }) // Log a message when a remote peer connects to us - nodeListener.addEventListener('peer:connect', (evt) => { + listener.addEventListener('peer:connect', (evt) => { const remotePeer = evt.detail console.log('connected to: ', remotePeer.toString()) }) // Handle messages for the protocol - await nodeListener.handle('/chat/1.0.0', async ({ stream }) => { + await listener.handle('/chat/1.0.0', async ({ stream }) => { // Send stdin to the stream stdinToStream(stream) // Read the stream and output to console @@ -31,7 +27,7 @@ async function run () { // Output listen addresses to the console console.log('Listener ready, listening on:') - nodeListener.getMultiaddrs().forEach((ma) => { + listener.getMultiaddrs().forEach((ma) => { console.log(ma.toString()) }) } diff --git a/examples/js-libp2p-example-chat/src/peer-id-dialer.js b/examples/js-libp2p-example-chat/src/peer-id-dialer.js deleted file mode 100644 index 79d3100..0000000 --- a/examples/js-libp2p-example-chat/src/peer-id-dialer.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - id: 'Qma3GsJmB47xYuyahPZPSadh1avvxfyYQwk8R3UnFrQ6aP', - privKey: 'CAASpwkwggSjAgEAAoIBAQCaNSDOjPz6T8HZsf7LDpxiQRiN2OjeyIHUS05p8QWOr3EFUCFsC31R4moihE5HN+FxNalUyyFZU//yjf1pdnlMJqrVByJSMa+y2y4x2FucpoCAO97Tx+iWzwlZ2UXEUXM1Y81mhPbeWXy+wP2xElTgIER0Tsn/thoA0SD2u9wJuVvM7dB7cBcHYmqV6JH+KWCedRTum6O1BssqP/4Lbm2+rkrbZ4+oVRoU2DRLoFhKqwqLtylrbuj4XOI3XykMXV5+uQXz1JzubNOB9lsc6K+eRC+w8hhhDuFMgzkZ4qomCnx3uhO67KaICd8yqqBa6PJ/+fBM5Xk4hjyR40bwcf41AgMBAAECggEAZnrCJ6IYiLyyRdr9SbKXCNDb4YByGYPEi/HT1aHgIJfFE1PSMjxcdytxfyjP4JJpVtPjiT9JFVU2ddoYu5qJN6tGwjVwgJEWg1UXmPaAw1T/drjS94kVsAs82qICtFmwp52Apg3dBZ0Qwq/8qE1XbG7lLyohIbfCBiL0tiPYMfkcsN9gnFT/kFCX0LVs2pa9fHCRMY9rqCc4/rWJa1w8sMuQ23y4lDaxKF9OZVvOHFQkbBDrkquWHE4r55fchCz/rJklkPJUNENuncBRu0/2X+p4IKFD1DnttXNwb8j4LPiSlLro1T0hiUr5gO2QmdYwXFF63Q3mjQy0+5I4eNbjjQKBgQDZvZy3gUKS/nQNkYfq9za80uLbIj/cWbO+ZZjXCsj0fNIcQFJcKMBoA7DjJvu2S/lf86/41YHkPdmrLAEQAkJ+5BBNOycjYK9minTEjIMMmZDTXXugZ62wnU6F46uLkgEChTqEP57Y6xwwV+JaEDFEsW5N1eE9lEVX9nGIr4phMwKBgQC1TazLuEt1WBx/iUT83ita7obXqoKNzwsS/MWfY2innzYZKDOqeSYZzLtt9uTtp4X4uLyPbYs0qFYhXLsUYMoGHNN8+NdjoyxCjQRJRBkMtaNR0lc5lVDWl3bTuJovjFCgAr9uqJrmI5OHcCIk/cDpdWb3nWaMihVlePmiTcTy9wKBgQCU0u7c1jKkudqks4XM6a+2HAYGdUBk4cLjLhnrUWnNAcuyl5wzdX8dGPi8KZb+IKuQE8WBNJ2VXVj7kBYh1QmSJVunDflQSvNYCOaKuOeRoxzD+y9Wkca74qkbBmPn/6FFEb7PSZTO+tPHjyodGNgz9XpJJRjQuBk1aDJtlF3m1QKBgE5SAr5ym65SZOU3UGUIOKRsfDW4Q/OsqDUImvpywCgBICaX9lHDShFFHwau7FA52ScL7vDquoMB4UtCOtLfyQYA9995w9oYCCurrVlVIJkb8jSLcADBHw3EmqF1kq3NqJqm9TmBfoDCh52vdCCUufxgKh33kfBOSlXuf7B8dgMbAoGAZ3r0/mBQX6S+s5+xCETMTSNv7TQzxgtURIpVs+ZVr2cMhWhiv+n0Omab9X9Z50se8cWl5lkvx8vn3D/XHHIPrMF6qk7RAXtvReb+PeitNvm0odqjFv0J2qki6fDs0HKwq4kojAXI1Md8Th0eobNjsy21fEEJT7uKMJdovI/SErI=', - pubKey: 'CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaNSDOjPz6T8HZsf7LDpxiQRiN2OjeyIHUS05p8QWOr3EFUCFsC31R4moihE5HN+FxNalUyyFZU//yjf1pdnlMJqrVByJSMa+y2y4x2FucpoCAO97Tx+iWzwlZ2UXEUXM1Y81mhPbeWXy+wP2xElTgIER0Tsn/thoA0SD2u9wJuVvM7dB7cBcHYmqV6JH+KWCedRTum6O1BssqP/4Lbm2+rkrbZ4+oVRoU2DRLoFhKqwqLtylrbuj4XOI3XykMXV5+uQXz1JzubNOB9lsc6K+eRC+w8hhhDuFMgzkZ4qomCnx3uhO67KaICd8yqqBa6PJ/+fBM5Xk4hjyR40bwcf41AgMBAAE=' -} diff --git a/examples/js-libp2p-example-chat/src/peer-id-listener.js b/examples/js-libp2p-example-chat/src/peer-id-listener.js deleted file mode 100644 index 8e5acb7..0000000 --- a/examples/js-libp2p-example-chat/src/peer-id-listener.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - id: 'QmcrQZ6RJdpYuGvZqD5QEHAv6qX4BrQLJLQPQUrTrzdcgm', - privKey: 'CAASqAkwggSkAgEAAoIBAQDLZZcGcbe4urMBVlcHgN0fpBymY+xcr14ewvamG70QZODJ1h9sljlExZ7byLiqRB3SjGbfpZ1FweznwNxWtWpjHkQjTVXeoM4EEgDSNO/Cg7KNlU0EJvgPJXeEPycAZX9qASbVJ6EECQ40VR/7+SuSqsdL1hrmG1phpIju+D64gLyWpw9WEALfzMpH5I/KvdYDW3N4g6zOD2mZNp5y1gHeXINHWzMF596O72/6cxwyiXV1eJ000k1NVnUyrPjXtqWdVLRk5IU1LFpoQoXZU5X1hKj1a2qt/lZfH5eOrF/ramHcwhrYYw1txf8JHXWO/bbNnyemTHAvutZpTNrsWATfAgMBAAECggEAQj0obPnVyjxLFZFnsFLgMHDCv9Fk5V5bOYtmxfvcm50us6ye+T8HEYWGUa9RrGmYiLweuJD34gLgwyzE1RwptHPj3tdNsr4NubefOtXwixlWqdNIjKSgPlaGULQ8YF2tm/kaC2rnfifwz0w1qVqhPReO5fypL+0ShyANVD3WN0Fo2ugzrniCXHUpR2sHXSg6K+2+qWdveyjNWog34b7CgpV73Ln96BWae6ElU8PR5AWdMnRaA9ucA+/HWWJIWB3Fb4+6uwlxhu2L50Ckq1gwYZCtGw63q5L4CglmXMfIKnQAuEzazq9T4YxEkp+XDnVZAOgnQGUBYpetlgMmkkh9qQKBgQDvsEs0ThzFLgnhtC2Jy//ZOrOvIAKAZZf/mS08AqWH3L0/Rjm8ZYbLsRcoWU78sl8UFFwAQhMRDBP9G+RPojWVahBL/B7emdKKnFR1NfwKjFdDVaoX5uNvZEKSl9UubbC4WZJ65u/cd5jEnj+w3ir9G8n+P1gp/0yBz02nZXFgSwKBgQDZPQr4HBxZL7Kx7D49ormIlB7CCn2i7mT11Cppn5ifUTrp7DbFJ2t9e8UNk6tgvbENgCKXvXWsmflSo9gmMxeEOD40AgAkO8Pn2R4OYhrwd89dECiKM34HrVNBzGoB5+YsAno6zGvOzLKbNwMG++2iuNXqXTk4uV9GcI8OnU5ZPQKBgCZUGrKSiyc85XeiSGXwqUkjifhHNh8yH8xPwlwGUFIZimnD4RevZI7OEtXw8iCWpX2gg9XGuyXOuKORAkF5vvfVriV4e7c9Ad4Igbj8mQFWz92EpV6NHXGCpuKqRPzXrZrNOA9PPqwSs+s9IxI1dMpk1zhBCOguWx2m+NP79NVhAoGBAI6WSoTfrpu7ewbdkVzTWgQTdLzYNe6jmxDf2ZbKclrf7lNr/+cYIK2Ud5qZunsdBwFdgVcnu/02czeS42TvVBgs8mcgiQc/Uy7yi4/VROlhOnJTEMjlU2umkGc3zLzDgYiRd7jwRDLQmMrYKNyEr02HFKFn3w8kXSzW5I8rISnhAoGBANhchHVtJd3VMYvxNcQb909FiwTnT9kl9pkjhwivx+f8/K8pDfYCjYSBYCfPTM5Pskv5dXzOdnNuCj6Y2H/9m2SsObukBwF0z5Qijgu1DsxvADVIKZ4rzrGb4uSEmM6200qjJ/9U98fVM7rvOraakrhcf9gRwuspguJQnSO9cLj6', - pubKey: 'CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDLZZcGcbe4urMBVlcHgN0fpBymY+xcr14ewvamG70QZODJ1h9sljlExZ7byLiqRB3SjGbfpZ1FweznwNxWtWpjHkQjTVXeoM4EEgDSNO/Cg7KNlU0EJvgPJXeEPycAZX9qASbVJ6EECQ40VR/7+SuSqsdL1hrmG1phpIju+D64gLyWpw9WEALfzMpH5I/KvdYDW3N4g6zOD2mZNp5y1gHeXINHWzMF596O72/6cxwyiXV1eJ000k1NVnUyrPjXtqWdVLRk5IU1LFpoQoXZU5X1hKj1a2qt/lZfH5eOrF/ramHcwhrYYw1txf8JHXWO/bbNnyemTHAvutZpTNrsWATfAgMBAAE=' -} diff --git a/examples/js-libp2p-example-circuit-relay/README.md b/examples/js-libp2p-example-circuit-relay/README.md index 8f904cc..287a3a5 100644 --- a/examples/js-libp2p-example-circuit-relay/README.md +++ b/examples/js-libp2p-example-circuit-relay/README.md @@ -55,7 +55,7 @@ const node = await createLibp2p({ transports: [ webSockets() ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ @@ -116,7 +116,7 @@ const node = await createLibp2p({ discoverRelays: 2 }) ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ @@ -186,7 +186,7 @@ if (!autoRelayNodeAddr) { const node = await createLibp2p({ transports: [webSockets()], - connectionEncryption: [noise()], + connectionEncrypters: [noise()], streamMuxers: [yamux(), mplex()] }) diff --git a/examples/js-libp2p-example-circuit-relay/dialer.js b/examples/js-libp2p-example-circuit-relay/dialer.js index 1811e1c..f99bcbd 100644 --- a/examples/js-libp2p-example-circuit-relay/dialer.js +++ b/examples/js-libp2p-example-circuit-relay/dialer.js @@ -19,7 +19,7 @@ async function main () { webSockets(), circuitRelayTransport() ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ diff --git a/examples/js-libp2p-example-circuit-relay/listener.js b/examples/js-libp2p-example-circuit-relay/listener.js index 2a413ac..ad9fd4d 100644 --- a/examples/js-libp2p-example-circuit-relay/listener.js +++ b/examples/js-libp2p-example-circuit-relay/listener.js @@ -21,7 +21,7 @@ async function main () { discoverRelays: 2 }) ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ diff --git a/examples/js-libp2p-example-circuit-relay/package.json b/examples/js-libp2p-example-circuit-relay/package.json index 084181e..c688827 100644 --- a/examples/js-libp2p-example-circuit-relay/package.json +++ b/examples/js-libp2p-example-circuit-relay/package.json @@ -16,13 +16,13 @@ "test": "test-node-example test/*" }, "dependencies": { - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/circuit-relay-v2": "^1.0.4", - "@libp2p/identify": "^2.1.0", - "@libp2p/websockets": "^8.0.4", - "@multiformats/multiaddr": "^12.1.11", - "libp2p": "^1.0.8 " + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/circuit-relay-v2": "^2.0.0", + "@libp2p/identify": "^3.0.0", + "@libp2p/websockets": "^9.0.0", + "@multiformats/multiaddr": "^12.3.1", + "libp2p": "^2.0.0" }, "devDependencies": { "test-ipfs-example": "^1.1.0" diff --git a/examples/js-libp2p-example-circuit-relay/relay.js b/examples/js-libp2p-example-circuit-relay/relay.js index f42fe10..40c3409 100644 --- a/examples/js-libp2p-example-circuit-relay/relay.js +++ b/examples/js-libp2p-example-circuit-relay/relay.js @@ -17,7 +17,7 @@ async function main () { transports: [ webSockets() ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ diff --git a/examples/js-libp2p-example-connection-encryption/noise.js b/examples/js-libp2p-example-connection-encryption/noise.js index c3f4b44..d2834a3 100644 --- a/examples/js-libp2p-example-connection-encryption/noise.js +++ b/examples/js-libp2p-example-connection-encryption/noise.js @@ -15,7 +15,7 @@ const createNode = async () => { }, transports: [tcp()], streamMuxers: [yamux()], - connectionEncryption: [noise()] + connectionEncrypters: [noise()] }) return node diff --git a/examples/js-libp2p-example-connection-encryption/package.json b/examples/js-libp2p-example-connection-encryption/package.json index c1ca42a..80a18b6 100644 --- a/examples/js-libp2p-example-connection-encryption/package.json +++ b/examples/js-libp2p-example-connection-encryption/package.json @@ -16,12 +16,12 @@ "test": "test-node-example test/*" }, "dependencies": { - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/plaintext": "^1.0.4", - "@libp2p/tcp": "^9.0.4", + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/plaintext": "^2.0.0", + "@libp2p/tcp": "^10.0.0", "it-pipe": "^3.0.1", - "libp2p": "^1.0.8", + "libp2p": "^2.0.0", "uint8arrays": "^5.1.0" }, "devDependencies": { diff --git a/examples/js-libp2p-example-connection-encryption/plaintext.js b/examples/js-libp2p-example-connection-encryption/plaintext.js index 81d4f59..3ef3861 100644 --- a/examples/js-libp2p-example-connection-encryption/plaintext.js +++ b/examples/js-libp2p-example-connection-encryption/plaintext.js @@ -15,7 +15,7 @@ const createNode = async () => { }, transports: [tcp()], streamMuxers: [yamux()], - connectionEncryption: [plaintext()] + connectionEncrypters: [plaintext()] }) return node diff --git a/examples/js-libp2p-example-custom-protocols/1-echo.js b/examples/js-libp2p-example-custom-protocols/1-echo.js index 82e6235..4d06306 100644 --- a/examples/js-libp2p-example-custom-protocols/1-echo.js +++ b/examples/js-libp2p-example-custom-protocols/1-echo.js @@ -13,7 +13,7 @@ async function createNode () { '/ip4/0.0.0.0/tcp/0' ] }, - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ diff --git a/examples/js-libp2p-example-custom-protocols/2-request-response.js b/examples/js-libp2p-example-custom-protocols/2-request-response.js index c969de7..99ab722 100644 --- a/examples/js-libp2p-example-custom-protocols/2-request-response.js +++ b/examples/js-libp2p-example-custom-protocols/2-request-response.js @@ -13,7 +13,7 @@ async function createNode () { '/ip4/0.0.0.0/tcp/0' ] }, - connectionEncryption: [ + connectionEncrypters: [ noise() ], streamMuxers: [ diff --git a/examples/js-libp2p-example-custom-protocols/package.json b/examples/js-libp2p-example-custom-protocols/package.json index 2ccc459..4cc5dee 100644 --- a/examples/js-libp2p-example-custom-protocols/package.json +++ b/examples/js-libp2p-example-custom-protocols/package.json @@ -16,16 +16,15 @@ "test": "test-node-example test/*" }, "dependencies": { - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/peer-id-factory": "^4.0.0", - "@libp2p/tcp": "^9.0.4", - "@libp2p/websockets": "^8.0.4", + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/tcp": "^10.0.0", + "@libp2p/websockets": "^9.0.0", "@multiformats/multiaddr": "^12.1.5", "@nodeutils/defaults-deep": "^1.1.0", "it-length-prefixed-stream": "^1.1.4", "it-pipe": "^3.0.1", - "libp2p": "^1.0.8", + "libp2p": "^2.0.0", "uint8arrays": "^5.1.0" }, "devDependencies": { diff --git a/examples/js-libp2p-example-delegated-routing/package.json b/examples/js-libp2p-example-delegated-routing/package.json index 6927dce..797a587 100644 --- a/examples/js-libp2p-example-delegated-routing/package.json +++ b/examples/js-libp2p-example-delegated-routing/package.json @@ -20,9 +20,9 @@ "test": "npm run build && test-browser-example test" }, "dependencies": { - "@helia/delegated-routing-v1-http-api-client": "^3.0.1", - "@helia/delegated-routing-v1-http-api-server": "^3.0.3", - "libp2p": "^1.0.8", + "@helia/delegated-routing-v1-http-api-client": "^4.0.0", + "@helia/delegated-routing-v1-http-api-server": "^4.0.0", + "libp2p": "^2.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-scripts": "^5.0.1" @@ -30,7 +30,7 @@ "devDependencies": { "test-ipfs-example": "^1.0.0", "eslint-config-ipfs": "^7.0.2", - "helia": "^4.2.4" + "helia": "next" }, "browserslist": [ ">0.2%", diff --git a/examples/js-libp2p-example-discovery-mechanisms/1-dht.js b/examples/js-libp2p-example-discovery-mechanisms/1-dht.js index edae5ab..8a6a08a 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/1-dht.js +++ b/examples/js-libp2p-example-discovery-mechanisms/1-dht.js @@ -16,7 +16,7 @@ const node = await createLibp2p({ }, transports: [tcp()], streamMuxers: [yamux(), mplex()], - connectionEncryption: [noise()], + connectionEncrypters: [noise()], peerDiscovery: [ bootstrap({ list: bootstrappers diff --git a/examples/js-libp2p-example-discovery-mechanisms/2-mdns.js b/examples/js-libp2p-example-discovery-mechanisms/2-mdns.js index 3a80cd5..03b7255 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/2-mdns.js +++ b/examples/js-libp2p-example-discovery-mechanisms/2-mdns.js @@ -3,7 +3,6 @@ import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' import { mdns } from '@libp2p/mdns' -import { mplex } from '@libp2p/mplex' import { tcp } from '@libp2p/tcp' import { createLibp2p } from 'libp2p' @@ -16,9 +15,9 @@ const createNode = async () => { tcp() ], streamMuxers: [ - yamux(), mplex() + yamux() ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], peerDiscovery: [ diff --git a/examples/js-libp2p-example-discovery-mechanisms/3-pubsub.js b/examples/js-libp2p-example-discovery-mechanisms/3-pubsub.js index 8f4122d..4522829 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/3-pubsub.js +++ b/examples/js-libp2p-example-discovery-mechanisms/3-pubsub.js @@ -1,11 +1,10 @@ /* eslint-disable no-console */ +import { gossipsub } from '@chainsafe/libp2p-gossipsub' import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' import { bootstrap } from '@libp2p/bootstrap' -import { floodsub } from '@libp2p/floodsub' import { identify } from '@libp2p/identify' -import { mplex } from '@libp2p/mplex' import { pubsubPeerDiscovery } from '@libp2p/pubsub-peer-discovery' import { tcp } from '@libp2p/tcp' import { createLibp2p } from 'libp2p' @@ -16,15 +15,15 @@ const createNode = async (bootstrappers = []) => { listen: ['/ip4/0.0.0.0/tcp/0'] }, transports: [tcp()], - streamMuxers: [yamux(), mplex()], - connectionEncryption: [noise()], + streamMuxers: [yamux()], + connectionEncrypters: [noise()], peerDiscovery: [ pubsubPeerDiscovery({ interval: 1000 }) ], services: { - pubsub: floodsub(), + pubsub: gossipsub(), identify: identify() } } diff --git a/examples/js-libp2p-example-discovery-mechanisms/README.md b/examples/js-libp2p-example-discovery-mechanisms/README.md index 78dbea3..6764b63 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/README.md +++ b/examples/js-libp2p-example-discovery-mechanisms/README.md @@ -87,7 +87,7 @@ const createNode = () => { streamMuxers: [ yamux(),mplex() ], - connectionEncryption: [ + connectionEncrypters: [ noise() ], peerDiscovery: [ diff --git a/examples/js-libp2p-example-discovery-mechanisms/package.json b/examples/js-libp2p-example-discovery-mechanisms/package.json index 5ac54ed..1bc4ed2 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/package.json +++ b/examples/js-libp2p-example-discovery-mechanisms/package.json @@ -16,18 +16,17 @@ "test": "test-node-example test/*" }, "dependencies": { - "@chainsafe/libp2p-noise": "^15.0.0", - "@chainsafe/libp2p-yamux": "^6.0.1", - "@libp2p/bootstrap": "^10.1.0", - "@libp2p/circuit-relay-v2": "^1.0.5", - "@libp2p/floodsub": "^9.1.0", - "@libp2p/identify": "^2.1.0", - "@libp2p/kad-dht": "^12.1.0", - "@libp2p/mdns": "^10.0.5", - "@libp2p/mplex": "^10.1.0", - "@libp2p/pubsub-peer-discovery": "^10.0.1", - "@libp2p/tcp": "^9.0.4", - "libp2p": "^1.0.8" + "@chainsafe/libp2p-gossipsub": "^14.1.0", + "@chainsafe/libp2p-noise": "^16.0.0", + "@chainsafe/libp2p-yamux": "^7.0.0", + "@libp2p/bootstrap": "^11.0.0", + "@libp2p/circuit-relay-v2": "^2.0.0", + "@libp2p/identify": "^3.0.0", + "@libp2p/kad-dht": "^13.0.0", + "@libp2p/mdns": "^11.0.0", + "@libp2p/pubsub-peer-discovery": "^11.0.0", + "@libp2p/tcp": "^10.0.0", + "libp2p": "^2.0.0" }, "devDependencies": { "execa": "^9.2.0", From b9bcee8946cf94b03e47e4680f299e60d79739f6 Mon Sep 17 00:00:00 2001 From: achingbrain Date: Tue, 17 Sep 2024 10:17:11 +0200 Subject: [PATCH 2/3] chore: remove mplex --- examples/js-libp2p-example-circuit-relay/README.md | 3 +-- examples/js-libp2p-example-discovery-mechanisms/1-dht.js | 3 +-- examples/js-libp2p-example-discovery-mechanisms/README.md | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/examples/js-libp2p-example-circuit-relay/README.md b/examples/js-libp2p-example-circuit-relay/README.md index 287a3a5..3c1b683 100644 --- a/examples/js-libp2p-example-circuit-relay/README.md +++ b/examples/js-libp2p-example-circuit-relay/README.md @@ -176,7 +176,6 @@ connecting to the auto relay node via the relay. import { createLibp2p } from 'libp2p' import { webSockets } from '@libp2p/websockets' import { noise } from '@chainsafe/libp2p-noise' -import { mplex } from '@libp2p/mplex' import { yamux } from '@chainsafe/libp2p-yamux', const autoRelayNodeAddr = process.argv[2] @@ -187,7 +186,7 @@ if (!autoRelayNodeAddr) { const node = await createLibp2p({ transports: [webSockets()], connectionEncrypters: [noise()], - streamMuxers: [yamux(), mplex()] + streamMuxers: [yamux()] }) console.log(`Node started with id ${node.peerId.toString()}`) diff --git a/examples/js-libp2p-example-discovery-mechanisms/1-dht.js b/examples/js-libp2p-example-discovery-mechanisms/1-dht.js index 8a6a08a..a5efc9a 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/1-dht.js +++ b/examples/js-libp2p-example-discovery-mechanisms/1-dht.js @@ -5,7 +5,6 @@ import { yamux } from '@chainsafe/libp2p-yamux' import { bootstrap } from '@libp2p/bootstrap' import { identify } from '@libp2p/identify' import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht' -import { mplex } from '@libp2p/mplex' import { tcp } from '@libp2p/tcp' import { createLibp2p } from 'libp2p' import bootstrappers from './bootstrappers.js' @@ -15,7 +14,7 @@ const node = await createLibp2p({ listen: ['/ip4/0.0.0.0/tcp/0'] }, transports: [tcp()], - streamMuxers: [yamux(), mplex()], + streamMuxers: [yamux()], connectionEncrypters: [noise()], peerDiscovery: [ bootstrap({ diff --git a/examples/js-libp2p-example-discovery-mechanisms/README.md b/examples/js-libp2p-example-discovery-mechanisms/README.md index 6764b63..7d5c28b 100644 --- a/examples/js-libp2p-example-discovery-mechanisms/README.md +++ b/examples/js-libp2p-example-discovery-mechanisms/README.md @@ -72,7 +72,6 @@ Update your libp2p configuration to include MulticastDNS. import { createLibp2p } from 'libp2p' import { mdns } from '@libp2p/mdns' import { tcp } from '@libp2p/tcp' -import { mplex } from '@libp2p/mplex' import { yamux } from '@chainsafe/libp2p-yamux' import { noise } from '@chainsafe/libp2p-noise' @@ -85,7 +84,7 @@ const createNode = () => { tcp() ], streamMuxers: [ - yamux(),mplex() + yamux(), ], connectionEncrypters: [ noise() From 2f749e0bc1b011b4105c3d6f25f55532f341bd7d Mon Sep 17 00:00:00 2001 From: achingbrain Date: Tue, 17 Sep 2024 18:02:36 +0200 Subject: [PATCH 3/3] chore: linting --- examples/js-libp2p-example-chat/src/libp2p.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/js-libp2p-example-chat/src/libp2p.js b/examples/js-libp2p-example-chat/src/libp2p.js index 5d78293..ea271b6 100644 --- a/examples/js-libp2p-example-chat/src/libp2p.js +++ b/examples/js-libp2p-example-chat/src/libp2p.js @@ -1,10 +1,10 @@ import { noise } from '@chainsafe/libp2p-noise' import { yamux } from '@chainsafe/libp2p-yamux' +import { mdns } from '@libp2p/mdns' import { tcp } from '@libp2p/tcp' import { webSockets } from '@libp2p/websockets' import defaultsDeep from '@nodeutils/defaults-deep' import { createLibp2p as create } from 'libp2p' -import { mdns } from '@libp2p/mdns' export async function createLibp2p (_options) { const defaults = {