@chainsafe/lodestar 1.49.0-dev.c9061c6942 → 1.49.0-dev.fbb58f7280
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.git-data.json +1 -1
- package/lib/cmds/beacon/initPeerIdAndEnr.d.ts.map +1 -1
- package/lib/cmds/beacon/initPeerIdAndEnr.js +16 -3
- package/lib/cmds/beacon/initPeerIdAndEnr.js.map +1 -1
- package/lib/cmds/bootnode/options.js +1 -1
- package/lib/cmds/bootnode/options.js.map +1 -1
- package/lib/cmds/validator/options.js +1 -1
- package/lib/cmds/validator/options.js.map +1 -1
- package/lib/options/beaconNodeOptions/chain.js +1 -1
- package/lib/options/beaconNodeOptions/network.d.ts +8 -1
- package/lib/options/beaconNodeOptions/network.d.ts.map +1 -1
- package/lib/options/beaconNodeOptions/network.js +34 -4
- package/lib/options/beaconNodeOptions/network.js.map +1 -1
- package/lib/util/proposerConfig.d.ts +1 -1
- package/lib/util/proposerConfig.d.ts.map +1 -1
- package/lib/util/proposerConfig.js +6 -5
- package/lib/util/proposerConfig.js.map +1 -1
- package/package.json +14 -14
- package/src/cmds/beacon/initPeerIdAndEnr.ts +20 -7
- package/src/cmds/bootnode/options.ts +1 -1
- package/src/cmds/validator/options.ts +1 -1
- package/src/options/beaconNodeOptions/chain.ts +1 -1
- package/src/options/beaconNodeOptions/network.ts +37 -4
- package/src/util/proposerConfig.ts +7 -5
package/.git-data.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPeerIdAndEnr.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CA6B1E;AAeD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,GAC5C,IAAI,
|
|
1
|
+
{"version":3,"file":"initPeerIdAndEnr.d.ts","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CA6B1E;AAeD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,GAC5C,IAAI,CAwEN;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAC,CAAC,CA+DrD"}
|
|
@@ -6,7 +6,7 @@ import { peerIdFromPrivateKey } from "@libp2p/peer-id";
|
|
|
6
6
|
import { SignableENR } from "@chainsafe/enr";
|
|
7
7
|
import { defaultOptions } from "@lodestar/beacon-node";
|
|
8
8
|
import { exportToJSON, readPrivateKey } from "../../config/index.js";
|
|
9
|
-
import { parseListenArgs } from "../../options/beaconNodeOptions/network.js";
|
|
9
|
+
import { hasGlobalIPv6Address, parseListenArgs } from "../../options/beaconNodeOptions/network.js";
|
|
10
10
|
import { writeFile600Perm } from "../../util/file.js";
|
|
11
11
|
/**
|
|
12
12
|
* Check if multiaddr belongs to the local network interfaces.
|
|
@@ -47,9 +47,17 @@ function maybeUpdateEnr(enr, key, value) {
|
|
|
47
47
|
}
|
|
48
48
|
export function overwriteEnrWithCliArgs(enr, args, logger, opts) {
|
|
49
49
|
const preSeq = enr.seq;
|
|
50
|
-
const { port, discoveryPort, quicPort, port6, discoveryPort6, quicPort6 } = parseListenArgs(args);
|
|
50
|
+
const { port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6 } = parseListenArgs(args);
|
|
51
51
|
const tcp = args.tcp ?? defaultOptions.network.tcp;
|
|
52
52
|
const quic = args.quic ?? defaultOptions.network.quic;
|
|
53
|
+
const ipv6Keys = ["ip6", "udp6", "tcp6", "quic6"];
|
|
54
|
+
const advertiseIp6 = listenAddress6 !== undefined || ipv6Keys.some((key) => args[`enr.${key}`] !== undefined);
|
|
55
|
+
if (!advertiseIp6 && ipv6Keys.some((key) => enr.kvs.has(key))) {
|
|
56
|
+
for (const key of ipv6Keys) {
|
|
57
|
+
enr.delete(key);
|
|
58
|
+
}
|
|
59
|
+
logger.warn("Cleared IPv6 fields from ENR because no IPv6 listener is configured");
|
|
60
|
+
}
|
|
53
61
|
maybeUpdateEnr(enr, "ip", args["enr.ip"] ?? enr.ip);
|
|
54
62
|
maybeUpdateEnr(enr, "ip6", args["enr.ip6"] ?? enr.ip6);
|
|
55
63
|
maybeUpdateEnr(enr, "udp", args["enr.udp"] ?? discoveryPort ?? enr.udp);
|
|
@@ -69,7 +77,9 @@ export function overwriteEnrWithCliArgs(enr, args, logger, opts) {
|
|
|
69
77
|
}
|
|
70
78
|
else {
|
|
71
79
|
if (!isLocal) {
|
|
72
|
-
logger.warn(
|
|
80
|
+
logger.warn("Clearing non-local ENR address and ports. Set --nat to allow non-local addresses", {
|
|
81
|
+
ipVersion: ip4 ? 4 : 6,
|
|
82
|
+
});
|
|
73
83
|
if (ip4) {
|
|
74
84
|
enr.delete("ip");
|
|
75
85
|
enr.delete("udp");
|
|
@@ -113,6 +123,9 @@ export function overwriteEnrWithCliArgs(enr, args, logger, opts) {
|
|
|
113
123
|
*/
|
|
114
124
|
export async function initPrivateKeyAndEnr(args, beaconDir, logger, bootnode) {
|
|
115
125
|
const { persistNetworkIdentity } = args;
|
|
126
|
+
if (!args.listenAddress && !args.listenAddress6 && !hasGlobalIPv6Address()) {
|
|
127
|
+
logger.warn("Not listening on IPv6: no global IPv6 address found. Set --listenAddress for IPv4 only or --listenAddress6 to enable IPv6 explicitly");
|
|
128
|
+
}
|
|
116
129
|
const newPrivateKeyAndENR = async () => {
|
|
117
130
|
const privateKey = await generateKeyPair("secp256k1");
|
|
118
131
|
const enr = SignableENR.createFromPrivateKey(privateKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPeerIdAndEnr.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"initPeerIdAndEnr.js","sourceRoot":"","sources":["../../../src/cmds/beacon/initPeerIdAndEnr.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export const bootnodeExtraOptions = {
|
|
|
18
18
|
listenAddress6: {
|
|
19
19
|
type: "string",
|
|
20
20
|
description: "The IPv6 address to listen for discv5 connections",
|
|
21
|
-
defaultDescription: defaultListenAddress6
|
|
21
|
+
defaultDescription: `${defaultListenAddress6} if the host has a global IPv6 address`,
|
|
22
22
|
group: "network",
|
|
23
23
|
},
|
|
24
24
|
port6: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/bootnode/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,IAAI,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAC,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAiBhE,MAAM,CAAC,MAAM,oBAAoB,GAAyC;IACxE,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mDAAmD;QAChE,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,SAAS;KACjB;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC;QAC1C,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mDAAmD;QAChE,kBAAkB,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/bootnode/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,IAAI,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAC,MAAM,4CAA4C,CAAC;AACvH,OAAO,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAiBhE,MAAM,CAAC,MAAM,oBAAoB,GAAyC;IACxE,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mDAAmD;QAChE,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,SAAS;KACjB;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC;QAC1C,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mDAAmD;QAChE,kBAAkB,EAAE,GAAG,qBAAqB,wCAAwC;QACpF,KAAK,EAAE,SAAS;KACjB;IAED,KAAK,EAAE;QACL,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC;QAC1C,KAAK,EAAE,SAAS;KACjB;IAED,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2CAA2C;QACxD,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,wFAAwF;QACxF,yFAAyF;QACzF,kDAAkD;QAClD,MAAM,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnE,KAAK,EAAE,SAAS;KACjB;IAED,aAAa,EAAE;QACb,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;KACjB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;KACjB;IAED,QAAQ,EAAE;QACR,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;KACb;IACD,SAAS,EAAE;QACT,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;KACb;IACD,SAAS,EAAE;QACT,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;KACb;IACD,UAAU,EAAE;QACV,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;KACb;IACD,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,KAAK;KACb;CACF,CAAC;AAIF,MAAM,CAAC,MAAM,eAAe,GAAuC;IACjE,GAAG,oBAAoB;IACvB,GAAG,UAAU;IACb,GAAG,cAAc;CAClB,CAAC"}
|
|
@@ -176,7 +176,7 @@ export const validatorOptions = {
|
|
|
176
176
|
group: "builder",
|
|
177
177
|
},
|
|
178
178
|
"builder.urls": {
|
|
179
|
-
description: "URL(s) of external builders to request execution payload bids from. Auth data agreed with a builder may be appended as a hex fragment, e.g. https://builder.example.com#0x0123, otherwise the
|
|
179
|
+
description: "URL(s) of external builders to request execution payload bids from. Auth data agreed with a builder may be appended as a hex fragment, e.g. https://builder.example.com#0x0123, otherwise the hostname of the URL is used. Only used post-Gloas",
|
|
180
180
|
type: "array",
|
|
181
181
|
string: true,
|
|
182
182
|
coerce: (urls) => urls.flatMap((url) => url.split(",")),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/validator/options.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/validator/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -264,7 +264,7 @@ Will double processing times. Use only for debugging purposes.",
|
|
|
264
264
|
group: "chain",
|
|
265
265
|
},
|
|
266
266
|
"chain.pruneHistory": {
|
|
267
|
-
description: "Continually prune finalized blocks older than `MIN_EPOCHS_FOR_BLOCK_REQUESTS` (33024 epochs / ~5 months on mainnet) and all archived states before the finalized epoch. \
|
|
267
|
+
description: "Continually prune finalized blocks and execution payload envelopes older than `MIN_EPOCHS_FOR_BLOCK_REQUESTS` (33024 epochs / ~5 months on mainnet) and all archived states before the finalized epoch. \
|
|
268
268
|
This is useful to minimize disk usage when the node does not need to serve historical data. \
|
|
269
269
|
Initial pruning may be slow on first startup with an existing large database.",
|
|
270
270
|
type: "boolean",
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import os from "node:os";
|
|
1
2
|
import { IBeaconNodeOptions } from "@lodestar/beacon-node";
|
|
2
3
|
import { CliCommandOptions } from "@lodestar/utils";
|
|
3
4
|
export declare const defaultListenAddress = "0.0.0.0";
|
|
4
5
|
export declare const defaultListenAddress6 = "::";
|
|
5
6
|
export declare const defaultP2pPort = 9000;
|
|
6
7
|
export declare const defaultQuicPort = 9001;
|
|
8
|
+
/**
|
|
9
|
+
* discv5 contacts dual-stack peers over IPv6 whenever an IPv6 socket is bound, so binding "::"
|
|
10
|
+
* on a host without IPv6 connectivity makes every dual-stack bootnode unreachable.
|
|
11
|
+
* Only bind IPv6 by default if the host has a global unicast IPv6 address.
|
|
12
|
+
*/
|
|
13
|
+
export declare function hasGlobalIPv6Address(interfaces?: NodeJS.Dict<os.NetworkInterfaceInfo[]>): boolean;
|
|
7
14
|
export type NetworkArgs = {
|
|
8
15
|
discv5?: boolean;
|
|
9
16
|
listenAddress?: string;
|
|
@@ -47,7 +54,7 @@ export type NetworkArgs = {
|
|
|
47
54
|
/** @deprecated This option is deprecated and should be removed in next major release. */
|
|
48
55
|
"network.rateTrackerTimeoutMs"?: number;
|
|
49
56
|
};
|
|
50
|
-
export declare function parseListenArgs(args: NetworkArgs): {
|
|
57
|
+
export declare function parseListenArgs(args: NetworkArgs, ipv6Available?: boolean): {
|
|
51
58
|
listenAddress: string | undefined;
|
|
52
59
|
port: number | undefined;
|
|
53
60
|
discoveryPort: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,OAAO,EAAC,kBAAkB,EAAiB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAGlD,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAC1C,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,eAAO,MAAM,eAAe,OAAO,CAAC;AAapC;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,yCAAyB,GAAG,OAAO,CAYjF;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,gDAAgD,CAAC,EAAE,OAAO,CAAC;IAC3D,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,yFAAyF;IACzF,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,yFAAyF;IACzF,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,yFAAyF;IACzF,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAYF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,aAAa,UAAyB;;;;;;;;;EAmBxF;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAsH1E;AAED,eAAO,MAAM,OAAO,EAAE,iBAAiB,CAAC,WAAW,CA4RlD,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import net from "node:net";
|
|
2
|
+
import os from "node:os";
|
|
1
3
|
import { multiaddr } from "@multiformats/multiaddr";
|
|
2
4
|
import { ENR } from "@chainsafe/enr";
|
|
3
5
|
import { defaultOptions } from "@lodestar/beacon-node";
|
|
@@ -6,6 +8,34 @@ export const defaultListenAddress = "0.0.0.0";
|
|
|
6
8
|
export const defaultListenAddress6 = "::";
|
|
7
9
|
export const defaultP2pPort = 9000;
|
|
8
10
|
export const defaultQuicPort = 9001;
|
|
11
|
+
/** IANA allocates global unicast addresses from 2000::/3 only */
|
|
12
|
+
const globalUnicastIPv6 = new net.BlockList();
|
|
13
|
+
globalUnicastIPv6.addSubnet("2000::", 3, "ipv6");
|
|
14
|
+
/** Special-purpose blocks excluded from automatic IPv6 listening (IANA IPv6 Special-Purpose Address Registry) */
|
|
15
|
+
const specialPurposeIPv6 = new net.BlockList();
|
|
16
|
+
specialPurposeIPv6.addSubnet("2001::", 23, "ipv6"); // IETF protocol assignments, includes Teredo
|
|
17
|
+
specialPurposeIPv6.addSubnet("2001:db8::", 32, "ipv6"); // documentation
|
|
18
|
+
specialPurposeIPv6.addSubnet("2002::", 16, "ipv6"); // 6to4
|
|
19
|
+
specialPurposeIPv6.addSubnet("3fff::", 20, "ipv6"); // documentation
|
|
20
|
+
/**
|
|
21
|
+
* discv5 contacts dual-stack peers over IPv6 whenever an IPv6 socket is bound, so binding "::"
|
|
22
|
+
* on a host without IPv6 connectivity makes every dual-stack bootnode unreachable.
|
|
23
|
+
* Only bind IPv6 by default if the host has a global unicast IPv6 address.
|
|
24
|
+
*/
|
|
25
|
+
export function hasGlobalIPv6Address(interfaces = os.networkInterfaces()) {
|
|
26
|
+
for (const addrs of Object.values(interfaces)) {
|
|
27
|
+
for (const addr of addrs ?? []) {
|
|
28
|
+
// node 18 returned family as a number, see isLocalMultiAddr
|
|
29
|
+
if (!String(addr.family).endsWith("6") || addr.internal)
|
|
30
|
+
continue;
|
|
31
|
+
const ip = addr.address;
|
|
32
|
+
if (net.isIPv6(ip) && globalUnicastIPv6.check(ip, "ipv6") && !specialPurposeIPv6.check(ip, "ipv6")) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
9
39
|
function validateMultiaddrArg(args, key) {
|
|
10
40
|
if (args[key]) {
|
|
11
41
|
try {
|
|
@@ -16,7 +46,7 @@ function validateMultiaddrArg(args, key) {
|
|
|
16
46
|
}
|
|
17
47
|
}
|
|
18
48
|
}
|
|
19
|
-
export function parseListenArgs(args) {
|
|
49
|
+
export function parseListenArgs(args, ipv6Available = hasGlobalIPv6Address()) {
|
|
20
50
|
// If listenAddress is explicitly set, use it
|
|
21
51
|
// If listenAddress6 is not set, use defaultListenAddress
|
|
22
52
|
const listenAddress = args.listenAddress ?? (args.listenAddress6 ? undefined : defaultListenAddress);
|
|
@@ -24,8 +54,8 @@ export function parseListenArgs(args) {
|
|
|
24
54
|
const discoveryPort = listenAddress ? (args.discoveryPort ?? port) : undefined;
|
|
25
55
|
const quicPort = listenAddress ? (args.quicPort ?? (port !== undefined ? port + 1 : defaultQuicPort)) : undefined;
|
|
26
56
|
// If listenAddress6 is explicitly set, use it
|
|
27
|
-
// If listenAddress is not set, use defaultListenAddress6
|
|
28
|
-
const listenAddress6 = args.listenAddress6 ?? (args.listenAddress ?
|
|
57
|
+
// If listenAddress is not set, use defaultListenAddress6 when the host has a global IPv6 address
|
|
58
|
+
const listenAddress6 = args.listenAddress6 ?? (!args.listenAddress && ipv6Available ? defaultListenAddress6 : undefined);
|
|
29
59
|
const port6 = listenAddress6 ? (args.port6 ?? args.port ?? defaultP2pPort) : undefined;
|
|
30
60
|
const discoveryPort6 = listenAddress6 ? (args.discoveryPort6 ?? port6) : undefined;
|
|
31
61
|
const quicPort6 = listenAddress6
|
|
@@ -173,7 +203,7 @@ export const options = {
|
|
|
173
203
|
listenAddress6: {
|
|
174
204
|
type: "string",
|
|
175
205
|
description: "The IPv6 address to listen for p2p UDP and TCP connections",
|
|
176
|
-
defaultDescription: defaultListenAddress6
|
|
206
|
+
defaultDescription: `${defaultListenAddress6} if the host has a global IPv6 address`,
|
|
177
207
|
group: "network",
|
|
178
208
|
},
|
|
179
209
|
port6: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export declare function parseBuilderEntries(builders?: unknown): BuilderEntryCon
|
|
|
17
17
|
/**
|
|
18
18
|
* Parse builder urls into builder entries. Auth data agreed with a builder out of band may be
|
|
19
19
|
* appended as a hex fragment (`https://builder.example.com#0x0123`), it is stripped from the url
|
|
20
|
-
* and never sent on the wire. Without a fragment the auth data derives from the url.
|
|
20
|
+
* and never sent on the wire. Without a fragment the auth data derives from the url hostname.
|
|
21
21
|
*/
|
|
22
22
|
export declare function parseBuilderUrls(urls?: string[]): BuilderEntryConfig[] | undefined;
|
|
23
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposerConfig.d.ts","sourceRoot":"","sources":["../../src/util/proposerConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAA4B,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAO5D,KAAK,cAAc,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAuB/D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,cAAc,GACjC,uBAAuB,CAczB;AA8ED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiBxF;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAoB9G;AAED,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYhF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAYnF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,kBAAkB,EAAE,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"proposerConfig.d.ts","sourceRoot":"","sources":["../../src/util/proposerConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAA4B,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAO5D,KAAK,cAAc,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAuB/D,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,cAAc,GACjC,uBAAuB,CAczB;AA8ED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiBxF;AAED,wBAAgB,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAoB9G;AAED,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYhF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAYnF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAkBxF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAgClF"}
|
|
@@ -2,7 +2,7 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { builderConfigDataFromJson } from "@lodestar/api/keymanager";
|
|
4
4
|
import { MAX_BUILDER_AUTH_DATA_SIZE, MAX_BUILDER_ENTRIES, MAX_BUILDER_URL_SIZE } from "@lodestar/params";
|
|
5
|
-
import { fromHex, isValidAsciiHttpUrl, toHex } from "@lodestar/utils";
|
|
5
|
+
import { fromHex, isValidAsciiHttpUrl, toAsciiHttpUrl, toHex } from "@lodestar/utils";
|
|
6
6
|
import { parseFeeRecipient } from "./feeRecipient.js";
|
|
7
7
|
import { readFile } from "./file.js";
|
|
8
8
|
const UINT64_MAX = 2n ** 64n - 1n;
|
|
@@ -164,7 +164,7 @@ export function parseBuilderEntries(builders) {
|
|
|
164
164
|
if (!isValidAsciiHttpUrl(entry.url)) {
|
|
165
165
|
throw Error(`Invalid builder url: ${entry.url}`);
|
|
166
166
|
}
|
|
167
|
-
const authData = entry.authData !== undefined ? toHex(fromHex(entry.authData)) : toHex(Buffer.from(entry.url));
|
|
167
|
+
const authData = entry.authData !== undefined ? toHex(fromHex(entry.authData)) : toHex(Buffer.from(new URL(entry.url).hostname));
|
|
168
168
|
const entryKey = `${entry.url}|${authData}`;
|
|
169
169
|
if (seenEntries.has(entryKey)) {
|
|
170
170
|
throw Error(`Duplicate builder entry url=${entry.url}`);
|
|
@@ -176,7 +176,7 @@ export function parseBuilderEntries(builders) {
|
|
|
176
176
|
/**
|
|
177
177
|
* Parse builder urls into builder entries. Auth data agreed with a builder out of band may be
|
|
178
178
|
* appended as a hex fragment (`https://builder.example.com#0x0123`), it is stripped from the url
|
|
179
|
-
* and never sent on the wire. Without a fragment the auth data derives from the url.
|
|
179
|
+
* and never sent on the wire. Without a fragment the auth data derives from the url hostname.
|
|
180
180
|
*/
|
|
181
181
|
export function parseBuilderUrls(urls) {
|
|
182
182
|
if (urls === undefined)
|
|
@@ -188,7 +188,8 @@ export function parseBuilderUrls(urls) {
|
|
|
188
188
|
const url = fragmentIndex === -1 ? value : value.slice(0, fragmentIndex);
|
|
189
189
|
const authData = fragmentIndex === -1 ? undefined : value.slice(fragmentIndex + 1);
|
|
190
190
|
if (!isValidAsciiHttpUrl(url)) {
|
|
191
|
-
|
|
191
|
+
const asciiUrl = toAsciiHttpUrl(url);
|
|
192
|
+
throw Error(`Invalid builder url: ${url}` + (asciiUrl !== null ? `, use ${asciiUrl} instead` : ""));
|
|
192
193
|
}
|
|
193
194
|
if (Buffer.byteLength(url, "utf8") > MAX_BUILDER_URL_SIZE) {
|
|
194
195
|
throw Error(`Invalid builder url, must not exceed ${MAX_BUILDER_URL_SIZE} bytes: ${url}`);
|
|
@@ -196,7 +197,7 @@ export function parseBuilderUrls(urls) {
|
|
|
196
197
|
if (authData !== undefined && !BUILDER_AUTH_DATA_PATTERN.test(authData)) {
|
|
197
198
|
throw Error(`Invalid builder url auth data, must be a 0x-prefixed hex string of 1 to ${MAX_BUILDER_AUTH_DATA_SIZE} bytes: ${url}`);
|
|
198
199
|
}
|
|
199
|
-
const entryKey = `${url}|${authData !== undefined ? toHex(fromHex(authData)) : toHex(Buffer.from(url))}`;
|
|
200
|
+
const entryKey = `${url}|${authData !== undefined ? toHex(fromHex(authData)) : toHex(Buffer.from(new URL(url).hostname))}`;
|
|
200
201
|
if (seenEntries.has(entryKey)) {
|
|
201
202
|
throw Error(`Duplicate builder url: ${url}`);
|
|
202
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposerConfig.js","sourceRoot":"","sources":["../../src/util/proposerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAqB,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAC,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"proposerConfig.js","sourceRoot":"","sources":["../../src/util/proposerConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chainsafe/lodestar",
|
|
3
|
-
"version": "1.49.0-dev.
|
|
3
|
+
"version": "1.49.0-dev.fbb58f7280",
|
|
4
4
|
"description": "Command line interface for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -68,17 +68,17 @@
|
|
|
68
68
|
"@libp2p/crypto": "^5.1.23",
|
|
69
69
|
"@libp2p/interface": "^3.3.0",
|
|
70
70
|
"@libp2p/peer-id": "^6.0.15",
|
|
71
|
-
"@lodestar/api": "^1.49.0-dev.
|
|
72
|
-
"@lodestar/beacon-node": "^1.49.0-dev.
|
|
73
|
-
"@lodestar/builder": "^1.49.0-dev.
|
|
74
|
-
"@lodestar/config": "^1.49.0-dev.
|
|
75
|
-
"@lodestar/db": "^1.49.0-dev.
|
|
76
|
-
"@lodestar/logger": "^1.49.0-dev.
|
|
77
|
-
"@lodestar/params": "^1.49.0-dev.
|
|
78
|
-
"@lodestar/state-transition": "^1.49.0-dev.
|
|
79
|
-
"@lodestar/types": "^1.49.0-dev.
|
|
80
|
-
"@lodestar/utils": "^1.49.0-dev.
|
|
81
|
-
"@lodestar/validator": "^1.49.0-dev.
|
|
71
|
+
"@lodestar/api": "^1.49.0-dev.fbb58f7280",
|
|
72
|
+
"@lodestar/beacon-node": "^1.49.0-dev.fbb58f7280",
|
|
73
|
+
"@lodestar/builder": "^1.49.0-dev.fbb58f7280",
|
|
74
|
+
"@lodestar/config": "^1.49.0-dev.fbb58f7280",
|
|
75
|
+
"@lodestar/db": "^1.49.0-dev.fbb58f7280",
|
|
76
|
+
"@lodestar/logger": "^1.49.0-dev.fbb58f7280",
|
|
77
|
+
"@lodestar/params": "^1.49.0-dev.fbb58f7280",
|
|
78
|
+
"@lodestar/state-transition": "^1.49.0-dev.fbb58f7280",
|
|
79
|
+
"@lodestar/types": "^1.49.0-dev.fbb58f7280",
|
|
80
|
+
"@lodestar/utils": "^1.49.0-dev.fbb58f7280",
|
|
81
|
+
"@lodestar/validator": "^1.49.0-dev.fbb58f7280",
|
|
82
82
|
"@multiformats/multiaddr": "^13.0.1",
|
|
83
83
|
"deepmerge": "^4.3.1",
|
|
84
84
|
"ethers": "^6.7.0",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@chainsafe/as-sha256": "^1.2.5",
|
|
96
96
|
"@ethereumjs/rlp": "^4.0.1",
|
|
97
|
-
"@lodestar/test-utils": "^1.49.0-dev.
|
|
97
|
+
"@lodestar/test-utils": "^1.49.0-dev.fbb58f7280",
|
|
98
98
|
"@types/debug": "^4.1.7",
|
|
99
99
|
"@types/inquirer": "^9.0.3",
|
|
100
100
|
"@types/js-yaml": "^4.0.5",
|
|
@@ -108,5 +108,5 @@
|
|
|
108
108
|
"web3": "^4.0.3",
|
|
109
109
|
"web3-eth-accounts": "^4.0.3"
|
|
110
110
|
},
|
|
111
|
-
"gitHead": "
|
|
111
|
+
"gitHead": "1a3fdd5e2356d7364af16bac6cb6a705556d77c4"
|
|
112
112
|
}
|
|
@@ -9,7 +9,7 @@ import {SignableENR} from "@chainsafe/enr";
|
|
|
9
9
|
import {defaultOptions} from "@lodestar/beacon-node";
|
|
10
10
|
import {Logger} from "@lodestar/utils";
|
|
11
11
|
import {exportToJSON, readPrivateKey} from "../../config/index.js";
|
|
12
|
-
import {parseListenArgs} from "../../options/beaconNodeOptions/network.js";
|
|
12
|
+
import {hasGlobalIPv6Address, parseListenArgs} from "../../options/beaconNodeOptions/network.js";
|
|
13
13
|
import {writeFile600Perm} from "../../util/file.js";
|
|
14
14
|
import {BeaconArgs} from "./options.js";
|
|
15
15
|
|
|
@@ -67,9 +67,18 @@ export function overwriteEnrWithCliArgs(
|
|
|
67
67
|
opts?: {newEnr?: boolean; bootnode?: boolean}
|
|
68
68
|
): void {
|
|
69
69
|
const preSeq = enr.seq;
|
|
70
|
-
const {port, discoveryPort, quicPort, port6, discoveryPort6, quicPort6} = parseListenArgs(args);
|
|
70
|
+
const {port, discoveryPort, quicPort, listenAddress6, port6, discoveryPort6, quicPort6} = parseListenArgs(args);
|
|
71
71
|
const tcp = args.tcp ?? defaultOptions.network.tcp;
|
|
72
72
|
const quic = args.quic ?? defaultOptions.network.quic;
|
|
73
|
+
const ipv6Keys = ["ip6", "udp6", "tcp6", "quic6"] as const;
|
|
74
|
+
const advertiseIp6 = listenAddress6 !== undefined || ipv6Keys.some((key) => args[`enr.${key}`] !== undefined);
|
|
75
|
+
if (!advertiseIp6 && ipv6Keys.some((key) => enr.kvs.has(key))) {
|
|
76
|
+
for (const key of ipv6Keys) {
|
|
77
|
+
enr.delete(key);
|
|
78
|
+
}
|
|
79
|
+
logger.warn("Cleared IPv6 fields from ENR because no IPv6 listener is configured");
|
|
80
|
+
}
|
|
81
|
+
|
|
73
82
|
maybeUpdateEnr(enr, "ip", args["enr.ip"] ?? enr.ip);
|
|
74
83
|
maybeUpdateEnr(enr, "ip6", args["enr.ip6"] ?? enr.ip6);
|
|
75
84
|
maybeUpdateEnr(enr, "udp", args["enr.udp"] ?? discoveryPort ?? enr.udp);
|
|
@@ -89,11 +98,9 @@ export function overwriteEnrWithCliArgs(
|
|
|
89
98
|
}
|
|
90
99
|
} else {
|
|
91
100
|
if (!isLocal) {
|
|
92
|
-
logger.warn(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}. Set the --nat flag to prevent this`
|
|
96
|
-
);
|
|
101
|
+
logger.warn("Clearing non-local ENR address and ports. Set --nat to allow non-local addresses", {
|
|
102
|
+
ipVersion: ip4 ? 4 : 6,
|
|
103
|
+
});
|
|
97
104
|
if (ip4) {
|
|
98
105
|
enr.delete("ip");
|
|
99
106
|
enr.delete("udp");
|
|
@@ -143,6 +150,12 @@ export async function initPrivateKeyAndEnr(
|
|
|
143
150
|
): Promise<{privateKey: PrivateKey; enr: SignableENR}> {
|
|
144
151
|
const {persistNetworkIdentity} = args;
|
|
145
152
|
|
|
153
|
+
if (!args.listenAddress && !args.listenAddress6 && !hasGlobalIPv6Address()) {
|
|
154
|
+
logger.warn(
|
|
155
|
+
"Not listening on IPv6: no global IPv6 address found. Set --listenAddress for IPv4 only or --listenAddress6 to enable IPv6 explicitly"
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
|
|
146
159
|
const newPrivateKeyAndENR = async (): Promise<{privateKey: PrivateKey; enr: SignableENR}> => {
|
|
147
160
|
const privateKey = await generateKeyPair("secp256k1");
|
|
148
161
|
const enr = SignableENR.createFromPrivateKey(privateKey);
|
|
@@ -37,7 +37,7 @@ export const bootnodeExtraOptions: CliCommandOptions<BootnodeExtraArgs> = {
|
|
|
37
37
|
listenAddress6: {
|
|
38
38
|
type: "string",
|
|
39
39
|
description: "The IPv6 address to listen for discv5 connections",
|
|
40
|
-
defaultDescription: defaultListenAddress6
|
|
40
|
+
defaultDescription: `${defaultListenAddress6} if the host has a global IPv6 address`,
|
|
41
41
|
group: "network",
|
|
42
42
|
},
|
|
43
43
|
|
|
@@ -290,7 +290,7 @@ export const validatorOptions: CliCommandOptions<IValidatorCliArgs> = {
|
|
|
290
290
|
|
|
291
291
|
"builder.urls": {
|
|
292
292
|
description:
|
|
293
|
-
"URL(s) of external builders to request execution payload bids from. Auth data agreed with a builder may be appended as a hex fragment, e.g. https://builder.example.com#0x0123, otherwise the
|
|
293
|
+
"URL(s) of external builders to request execution payload bids from. Auth data agreed with a builder may be appended as a hex fragment, e.g. https://builder.example.com#0x0123, otherwise the hostname of the URL is used. Only used post-Gloas",
|
|
294
294
|
type: "array",
|
|
295
295
|
string: true,
|
|
296
296
|
coerce: (urls: string[]): string[] => urls.flatMap((url) => url.split(",")),
|
|
@@ -352,7 +352,7 @@ Will double processing times. Use only for debugging purposes.",
|
|
|
352
352
|
|
|
353
353
|
"chain.pruneHistory": {
|
|
354
354
|
description:
|
|
355
|
-
"Continually prune finalized blocks older than `MIN_EPOCHS_FOR_BLOCK_REQUESTS` (33024 epochs / ~5 months on mainnet) and all archived states before the finalized epoch. \
|
|
355
|
+
"Continually prune finalized blocks and execution payload envelopes older than `MIN_EPOCHS_FOR_BLOCK_REQUESTS` (33024 epochs / ~5 months on mainnet) and all archived states before the finalized epoch. \
|
|
356
356
|
This is useful to minimize disk usage when the node does not need to serve historical data. \
|
|
357
357
|
Initial pruning may be slow on first startup with an existing large database.",
|
|
358
358
|
type: "boolean",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import net from "node:net";
|
|
2
|
+
import os from "node:os";
|
|
1
3
|
import {multiaddr} from "@multiformats/multiaddr";
|
|
2
4
|
import {ENR} from "@chainsafe/enr";
|
|
3
5
|
import {IBeaconNodeOptions, defaultOptions} from "@lodestar/beacon-node";
|
|
@@ -9,6 +11,36 @@ export const defaultListenAddress6 = "::";
|
|
|
9
11
|
export const defaultP2pPort = 9000;
|
|
10
12
|
export const defaultQuicPort = 9001;
|
|
11
13
|
|
|
14
|
+
/** IANA allocates global unicast addresses from 2000::/3 only */
|
|
15
|
+
const globalUnicastIPv6 = new net.BlockList();
|
|
16
|
+
globalUnicastIPv6.addSubnet("2000::", 3, "ipv6");
|
|
17
|
+
|
|
18
|
+
/** Special-purpose blocks excluded from automatic IPv6 listening (IANA IPv6 Special-Purpose Address Registry) */
|
|
19
|
+
const specialPurposeIPv6 = new net.BlockList();
|
|
20
|
+
specialPurposeIPv6.addSubnet("2001::", 23, "ipv6"); // IETF protocol assignments, includes Teredo
|
|
21
|
+
specialPurposeIPv6.addSubnet("2001:db8::", 32, "ipv6"); // documentation
|
|
22
|
+
specialPurposeIPv6.addSubnet("2002::", 16, "ipv6"); // 6to4
|
|
23
|
+
specialPurposeIPv6.addSubnet("3fff::", 20, "ipv6"); // documentation
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* discv5 contacts dual-stack peers over IPv6 whenever an IPv6 socket is bound, so binding "::"
|
|
27
|
+
* on a host without IPv6 connectivity makes every dual-stack bootnode unreachable.
|
|
28
|
+
* Only bind IPv6 by default if the host has a global unicast IPv6 address.
|
|
29
|
+
*/
|
|
30
|
+
export function hasGlobalIPv6Address(interfaces = os.networkInterfaces()): boolean {
|
|
31
|
+
for (const addrs of Object.values(interfaces)) {
|
|
32
|
+
for (const addr of addrs ?? []) {
|
|
33
|
+
// node 18 returned family as a number, see isLocalMultiAddr
|
|
34
|
+
if (!String(addr.family).endsWith("6") || addr.internal) continue;
|
|
35
|
+
const ip = addr.address;
|
|
36
|
+
if (net.isIPv6(ip) && globalUnicastIPv6.check(ip, "ipv6") && !specialPurposeIPv6.check(ip, "ipv6")) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
|
|
12
44
|
export type NetworkArgs = {
|
|
13
45
|
discv5?: boolean;
|
|
14
46
|
listenAddress?: string;
|
|
@@ -64,7 +96,7 @@ function validateMultiaddrArg<T extends Record<string, string | undefined>>(args
|
|
|
64
96
|
}
|
|
65
97
|
}
|
|
66
98
|
|
|
67
|
-
export function parseListenArgs(args: NetworkArgs) {
|
|
99
|
+
export function parseListenArgs(args: NetworkArgs, ipv6Available = hasGlobalIPv6Address()) {
|
|
68
100
|
// If listenAddress is explicitly set, use it
|
|
69
101
|
// If listenAddress6 is not set, use defaultListenAddress
|
|
70
102
|
const listenAddress = args.listenAddress ?? (args.listenAddress6 ? undefined : defaultListenAddress);
|
|
@@ -73,8 +105,9 @@ export function parseListenArgs(args: NetworkArgs) {
|
|
|
73
105
|
const quicPort = listenAddress ? (args.quicPort ?? (port !== undefined ? port + 1 : defaultQuicPort)) : undefined;
|
|
74
106
|
|
|
75
107
|
// If listenAddress6 is explicitly set, use it
|
|
76
|
-
// If listenAddress is not set, use defaultListenAddress6
|
|
77
|
-
const listenAddress6 =
|
|
108
|
+
// If listenAddress is not set, use defaultListenAddress6 when the host has a global IPv6 address
|
|
109
|
+
const listenAddress6 =
|
|
110
|
+
args.listenAddress6 ?? (!args.listenAddress && ipv6Available ? defaultListenAddress6 : undefined);
|
|
78
111
|
const port6 = listenAddress6 ? (args.port6 ?? args.port ?? defaultP2pPort) : undefined;
|
|
79
112
|
const discoveryPort6 = listenAddress6 ? (args.discoveryPort6 ?? port6) : undefined;
|
|
80
113
|
const quicPort6 = listenAddress6
|
|
@@ -245,7 +278,7 @@ export const options: CliCommandOptions<NetworkArgs> = {
|
|
|
245
278
|
listenAddress6: {
|
|
246
279
|
type: "string",
|
|
247
280
|
description: "The IPv6 address to listen for p2p UDP and TCP connections",
|
|
248
|
-
defaultDescription: defaultListenAddress6
|
|
281
|
+
defaultDescription: `${defaultListenAddress6} if the host has a global IPv6 address`,
|
|
249
282
|
group: "network",
|
|
250
283
|
},
|
|
251
284
|
|
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import {routes} from "@lodestar/api";
|
|
4
4
|
import {BuilderEntryConfig, builderConfigDataFromJson} from "@lodestar/api/keymanager";
|
|
5
5
|
import {MAX_BUILDER_AUTH_DATA_SIZE, MAX_BUILDER_ENTRIES, MAX_BUILDER_URL_SIZE} from "@lodestar/params";
|
|
6
|
-
import {fromHex, isValidAsciiHttpUrl, toHex} from "@lodestar/utils";
|
|
6
|
+
import {fromHex, isValidAsciiHttpUrl, toAsciiHttpUrl, toHex} from "@lodestar/utils";
|
|
7
7
|
import {ValidatorProposerConfig} from "@lodestar/validator";
|
|
8
8
|
import {parseFeeRecipient} from "./feeRecipient.js";
|
|
9
9
|
import {readFile} from "./file.js";
|
|
@@ -226,7 +226,8 @@ export function parseBuilderEntries(builders?: unknown): BuilderEntryConfig[] |
|
|
|
226
226
|
if (!isValidAsciiHttpUrl(entry.url)) {
|
|
227
227
|
throw Error(`Invalid builder url: ${entry.url}`);
|
|
228
228
|
}
|
|
229
|
-
const authData =
|
|
229
|
+
const authData =
|
|
230
|
+
entry.authData !== undefined ? toHex(fromHex(entry.authData)) : toHex(Buffer.from(new URL(entry.url).hostname));
|
|
230
231
|
const entryKey = `${entry.url}|${authData}`;
|
|
231
232
|
if (seenEntries.has(entryKey)) {
|
|
232
233
|
throw Error(`Duplicate builder entry url=${entry.url}`);
|
|
@@ -239,7 +240,7 @@ export function parseBuilderEntries(builders?: unknown): BuilderEntryConfig[] |
|
|
|
239
240
|
/**
|
|
240
241
|
* Parse builder urls into builder entries. Auth data agreed with a builder out of band may be
|
|
241
242
|
* appended as a hex fragment (`https://builder.example.com#0x0123`), it is stripped from the url
|
|
242
|
-
* and never sent on the wire. Without a fragment the auth data derives from the url.
|
|
243
|
+
* and never sent on the wire. Without a fragment the auth data derives from the url hostname.
|
|
243
244
|
*/
|
|
244
245
|
export function parseBuilderUrls(urls?: string[]): BuilderEntryConfig[] | undefined {
|
|
245
246
|
if (urls === undefined) return undefined;
|
|
@@ -251,7 +252,8 @@ export function parseBuilderUrls(urls?: string[]): BuilderEntryConfig[] | undefi
|
|
|
251
252
|
const url = fragmentIndex === -1 ? value : value.slice(0, fragmentIndex);
|
|
252
253
|
const authData = fragmentIndex === -1 ? undefined : value.slice(fragmentIndex + 1);
|
|
253
254
|
if (!isValidAsciiHttpUrl(url)) {
|
|
254
|
-
|
|
255
|
+
const asciiUrl = toAsciiHttpUrl(url);
|
|
256
|
+
throw Error(`Invalid builder url: ${url}` + (asciiUrl !== null ? `, use ${asciiUrl} instead` : ""));
|
|
255
257
|
}
|
|
256
258
|
if (Buffer.byteLength(url, "utf8") > MAX_BUILDER_URL_SIZE) {
|
|
257
259
|
throw Error(`Invalid builder url, must not exceed ${MAX_BUILDER_URL_SIZE} bytes: ${url}`);
|
|
@@ -261,7 +263,7 @@ export function parseBuilderUrls(urls?: string[]): BuilderEntryConfig[] | undefi
|
|
|
261
263
|
`Invalid builder url auth data, must be a 0x-prefixed hex string of 1 to ${MAX_BUILDER_AUTH_DATA_SIZE} bytes: ${url}`
|
|
262
264
|
);
|
|
263
265
|
}
|
|
264
|
-
const entryKey = `${url}|${authData !== undefined ? toHex(fromHex(authData)) : toHex(Buffer.from(url))}`;
|
|
266
|
+
const entryKey = `${url}|${authData !== undefined ? toHex(fromHex(authData)) : toHex(Buffer.from(new URL(url).hostname))}`;
|
|
265
267
|
if (seenEntries.has(entryKey)) {
|
|
266
268
|
throw Error(`Duplicate builder url: ${url}`);
|
|
267
269
|
}
|