Commit 53781b2
authored
Add ENR v5 bootnodes support for DiscV5 discovery (#9970)
Add ENR (enr:) bootnode support for DiscV5 discovery by introducing a new v5Bootnodes section in genesis config alongside the existing bootnodes (enode) section.
Genesis config changes:
- Add v5Bootnodes to config.discovery for ENR-format bootnodes
- Add getV5BootNodes() to DiscoveryOptions to parse the new section
- Populate mainnet.json with 17 ENR bootnodes and hoodi.json with 9
Bootnode parsing simplification:
- Use --Xv5-discovery-enabled flag to determine expected format (ENR vs enode) instead of prefix detection heuristic
- EthNetworkConfig reads bootnodes and v5Bootnodes independently
- CLI --bootnodes overrides the active protocol's list and clears
the unused protocol's list; genesis defaults keep both intact
- Replace heuristic fallback in getBootnodeIdentifiers() with
explicit discoveryV5Enabled flag check
DiscV5 peer connection pipeline fixes:
- Handle compressed public keys (33-byte SEC1) in
NodeKeySigner.deriveECDHKeyAgreement
- Fix candidatePeers() to use isListening() instead of
isReadyForConnections() which requires DiscV4 bonding status
- Filter out the local node record from streamLiveNodes()
- Explicitly use secp256k1 for ENR identity scheme v4
Cleanup:
- Remove dead MAINNET fallback null-checks in RunnerBuilder
---------
Signed-off-by: Usman Saleem <usman@usmans.info>1 parent fd9b355 commit 53781b2
File tree
14 files changed
+332
-86
lines changed- app/src
- main/java/org/hyperledger/besu
- cli
- config
- test/java/org/hyperledger/besu/cli
- config
- config/src
- main
- java/org/hyperledger/besu/config
- resources
- test/java/org/hyperledger/besu/config
- ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p
- config
- discovery
- discv5
- dns
14 files changed
+332
-86
lines changedLines changed: 6 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
| |||
672 | 671 | | |
673 | 672 | | |
674 | 673 | | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
| 674 | + | |
| 675 | + | |
686 | 676 | | |
687 | 677 | | |
688 | 678 | | |
689 | 679 | | |
690 | 680 | | |
691 | 681 | | |
692 | 682 | | |
693 | | - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
694 | 687 | | |
695 | 688 | | |
696 | 689 | | |
| |||
Lines changed: 63 additions & 32 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
91 | 92 | | |
92 | 93 | | |
93 | 94 | | |
| |||
2517 | 2518 | | |
2518 | 2519 | | |
2519 | 2520 | | |
| 2521 | + | |
2520 | 2522 | | |
2521 | 2523 | | |
2522 | 2524 | | |
| |||
2539 | 2541 | | |
2540 | 2542 | | |
2541 | 2543 | | |
2542 | | - | |
2543 | | - | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
2544 | 2552 | | |
2545 | | - | |
2546 | | - | |
2547 | | - | |
2548 | | - | |
2549 | | - | |
2550 | | - | |
2551 | | - | |
2552 | | - | |
2553 | | - | |
2554 | | - | |
2555 | | - | |
2556 | | - | |
2557 | | - | |
2558 | | - | |
| 2553 | + | |
| 2554 | + | |
2559 | 2555 | | |
2560 | | - | |
2561 | | - | |
2562 | | - | |
2563 | 2556 | | |
2564 | 2557 | | |
2565 | | - | |
2566 | | - | |
2567 | | - | |
2568 | | - | |
2569 | | - | |
2570 | | - | |
2571 | | - | |
2572 | | - | |
2573 | | - | |
2574 | | - | |
| 2558 | + | |
| 2559 | + | |
| 2560 | + | |
| 2561 | + | |
| 2562 | + | |
| 2563 | + | |
2575 | 2564 | | |
2576 | | - | |
| 2565 | + | |
| 2566 | + | |
2577 | 2567 | | |
2578 | 2568 | | |
2579 | 2569 | | |
2580 | | - | |
2581 | | - | |
| 2570 | + | |
| 2571 | + | |
| 2572 | + | |
| 2573 | + | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
| 2602 | + | |
| 2603 | + | |
| 2604 | + | |
| 2605 | + | |
| 2606 | + | |
| 2607 | + | |
| 2608 | + | |
| 2609 | + | |
| 2610 | + | |
| 2611 | + | |
| 2612 | + | |
2582 | 2613 | | |
2583 | 2614 | | |
2584 | 2615 | | |
| |||
Lines changed: 16 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | | - | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | | - | |
32 | 30 | | |
33 | 31 | | |
34 | 32 | | |
| |||
72 | 70 | | |
73 | 71 | | |
74 | 72 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
Lines changed: 44 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
116 | 118 | | |
117 | 119 | | |
118 | 120 | | |
| |||
306 | 308 | | |
307 | 309 | | |
308 | 310 | | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
| 311 | + | |
317 | 312 | | |
318 | 313 | | |
319 | 314 | | |
| |||
958 | 953 | | |
959 | 954 | | |
960 | 955 | | |
| 956 | + | |
961 | 957 | | |
962 | 958 | | |
963 | 959 | | |
| |||
1020 | 1016 | | |
1021 | 1017 | | |
1022 | 1018 | | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
| 1056 | + | |
| 1057 | + | |
| 1058 | + | |
1023 | 1059 | | |
1024 | 1060 | | |
1025 | 1061 | | |
| |||
Lines changed: 2 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | 24 | | |
27 | 25 | | |
28 | 26 | | |
| |||
132 | 130 | | |
133 | 131 | | |
134 | 132 | | |
| 133 | + | |
135 | 134 | | |
136 | 135 | | |
137 | 136 | | |
| |||
165 | 164 | | |
166 | 165 | | |
167 | 166 | | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
| 167 | + | |
176 | 168 | | |
177 | 169 | | |
178 | 170 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
| |||
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
70 | 97 | | |
71 | 98 | | |
72 | 99 | | |
| |||
0 commit comments