Skip to content

Commit

Permalink
Add yamux
Browse files Browse the repository at this point in the history
  • Loading branch information
dapplion committed Nov 26, 2022
1 parent 0427435 commit 9c0a0e6
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 1 deletion.
1 change: 1 addition & 0 deletions packages/beacon-node/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@
"@chainsafe/discv5": "^1.4.0",
"@chainsafe/libp2p-gossipsub": "^4.1.1",
"@chainsafe/libp2p-noise": "^8.0.0",
"@chainsafe/libp2p-yamux": "^3.0.3",
"@chainsafe/persistent-merkle-tree": "^0.4.2",
"@chainsafe/snappy-stream": "5.1.1",
"@chainsafe/ssz": "^0.9.2",
Expand Down
11 changes: 10 additions & 1 deletion packages/beacon-node/src/network/nodejs/bundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {MulticastDNS} from "@libp2p/mdns";
import {PeerId} from "@libp2p/interface-peer-id";
import {Datastore} from "interface-datastore";
import {Noise} from "@chainsafe/libp2p-noise";
import {yamux} from "@chainsafe/libp2p-yamux";

export interface ILibp2pOptions {
peerId: PeerId;
Expand All @@ -32,6 +33,9 @@ export async function createNodejsLibp2p(options: ILibp2pOptions): Promise<Libp2
}
peerDiscovery.push(new MulticastDNS());
}

const yamuxInstance = yamux()();

return await createLibp2p({
peerId: options.peerId,
addresses: {
Expand All @@ -40,7 +44,12 @@ export async function createNodejsLibp2p(options: ILibp2pOptions): Promise<Libp2
},
connectionEncryption: [new Noise()],
transports: [new TCP()],
streamMuxers: [new Mplex({maxInboundStreams: 256})],
streamMuxers: [
//
new Mplex({maxInboundStreams: 256}),
// Cast because yamux.StreamMuxerFactory is different than libp2p.StreamMuxerFactory
yamuxInstance as Mplex,
],
peerDiscovery,
metrics: {
// temporarily disable since there is a performance issue with it
Expand Down
40 changes: 40 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,24 @@
uint8arraylist "^2.3.2"
uint8arrays "^3.1.0"

"@chainsafe/libp2p-yamux@^3.0.3":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-yamux/-/libp2p-yamux-3.0.3.tgz#cad939cb5588c3dacbecaea83f54399fb374becb"
integrity sha512-PR/X8sXlcnbsJ4l87GdfSUMQ8pAoKkAkST9ecJkBa7fr7QLvuc4xzEBm9tgj8uqg+yxmLA1wz1X4qfKy2u3RLg==
dependencies:
"@libp2p/interface-connection" "^3.0.1"
"@libp2p/interface-stream-muxer" "^3.0.0"
"@libp2p/logger" "^2.0.1"
abortable-iterator "^4.0.2"
any-signal "^3.0.1"
err-code "^3.0.1"
iso-random-stream "^2.0.2"
it-pipe "^2.0.4"
it-pushable "^3.1.0"
multiformats "^10.0.0"
uint8arraylist "^2.3.2"
uint8arrays "^4.0.2"

"@chainsafe/persistent-merkle-tree@^0.4.2":
version "0.4.2"
resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff"
Expand Down Expand Up @@ -2028,6 +2046,15 @@
"@libp2p/interfaces" "^3.0.0"
it-stream-types "^1.0.4"

"@libp2p/interface-stream-muxer@^3.0.0":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@libp2p/interface-stream-muxer/-/interface-stream-muxer-3.0.1.tgz#d7724cb38800dc4843c476118ee0ce24a190526f"
integrity sha512-HlIZFMMSYTKOKn5VBw8UHQ5qya6oWSqpP2ygtSoB/nbBcC/3mv/4cbvozJUAGrOrDz01YY3QOB2LJ6R1b0EWCQ==
dependencies:
"@libp2p/interface-connection" "^3.0.0"
"@libp2p/interfaces" "^3.0.0"
it-stream-types "^1.0.4"

"@libp2p/interface-transport@^1.0.3", "@libp2p/interface-transport@^1.0.4":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@libp2p/interface-transport/-/interface-transport-1.0.4.tgz#b36206b629878462bc6a1b8034998af02f810c24"
Expand Down Expand Up @@ -4105,6 +4132,11 @@ any-signal@^3.0.0:
resolved "https://registry.npmjs.org/any-signal/-/any-signal-3.0.0.tgz"
integrity sha512-l1H1GEkGGIXVGfCtvq8N68YI7gHajmfzRdKhmb8sGyAQpLCblirLa8eB09j4uKaiwe7vodAChocUf7AT3mYq5g==

any-signal@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-3.0.1.tgz#49cae34368187a3472e31de28fb5cb1430caa9a6"
integrity sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==

anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz"
Expand Down Expand Up @@ -8238,6 +8270,14 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==

iso-random-stream@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.2.tgz#a24f77c34cfdad9d398707d522a6a0cc640ff27d"
integrity sha512-yJvs+Nnelic1L2vH2JzWvvPQFA4r7kSTnpST/+LkAQjSz0hos2oqLD+qIVi9Qk38Hoe7mNDt3j0S27R58MVjLQ==
dependencies:
events "^3.3.0"
readable-stream "^3.4.0"

isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
Expand Down

0 comments on commit 9c0a0e6

Please sign in to comment.