Skip to content

Commit

Permalink
Add yamux as first streamMuxer
Browse files Browse the repository at this point in the history
  • Loading branch information
dapplion authored and twoeths committed Jan 16, 2023
1 parent dc82a01 commit 8f8555f
Show file tree
Hide file tree
Showing 3 changed files with 39 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 @@ -98,6 +98,7 @@
"@chainsafe/discv5": "^1.4.0",
"@chainsafe/libp2p-gossipsub": "^5.3.0",
"@chainsafe/libp2p-noise": "^10.2.0",
"@chainsafe/libp2p-yamux": "^3.0.3",
"@chainsafe/persistent-merkle-tree": "^0.4.2",
"@chainsafe/snappy-stream": "^5.1.2",
"@chainsafe/ssz": "^0.9.2",
Expand Down
8 changes: 7 additions & 1 deletion packages/beacon-node/src/network/nodejs/bundle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import type {PeerDiscovery} from "@libp2p/interface-peer-discovery";
import type {Components} from "libp2p/components";
import {prometheusMetrics} from "@libp2p/prometheus-metrics";
import {Registry} from "prom-client";
import {yamux} from "@chainsafe/libp2p-yamux";
import {createNoise} from "./noise.js";

export interface ILibp2pOptions {
Expand Down Expand Up @@ -40,6 +41,7 @@ export async function createNodejsLibp2p(options: ILibp2pOptions): Promise<Libp2
peerDiscovery.push(mdns());
}
}

return await createLibp2p({
peerId: options.peerId,
addresses: {
Expand All @@ -49,7 +51,11 @@ export async function createNodejsLibp2p(options: ILibp2pOptions): Promise<Libp2
connectionEncryption: [createNoise()],
// Reject connections when the server's connection count gets high
transports: [tcp({maxConnections: options.maxConnections})],
streamMuxers: [mplex({maxInboundStreams: 256})],
streamMuxers: [
// Cast because yamux.StreamMuxerFactory is different than libp2p.StreamMuxerFactory
yamux(),
mplex({maxInboundStreams: 256}),
],
peerDiscovery,
metrics: options.metrics
? prometheusMetrics({
Expand Down
31 changes: 31 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,24 @@
uint8arraylist "^2.3.2"
uint8arrays "^4.0.2"

"@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 @@ -4018,6 +4036,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 @@ -8118,6 +8141,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 8f8555f

Please sign in to comment.