Skip to content

Commit 53f66c1

Browse files
cmd/bootnode: remove bootnode utility (ethereum#30813)
Since we don't really support custom networks anymore, we don't need the bootnode utility. In case a discovery-only node is wanted, it can still be run using cmd/devp2p.
1 parent db8eed8 commit 53f66c1

File tree

3 files changed

+9
-219
lines changed

3 files changed

+9
-219
lines changed

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ directory.
4040
| `clef` | Stand-alone signing tool, which can be used as a backend signer for `geth`. |
4141
| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. |
4242
| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings) page for details. |
43-
| `bootnode` | Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. |
4443
| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). |
4544
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
4645

@@ -270,17 +269,22 @@ start a bootstrap node that others can use to find each other in your network an
270269
the internet. The clean way is to configure and run a dedicated bootnode:
271270

272271
```shell
273-
$ bootnode --genkey=boot.key
274-
$ bootnode --nodekey=boot.key
272+
# Use the devp2p tool to create a node file.
273+
# The devp2p tool is also part of the 'alltools' distribution bundle.
274+
$ devp2p key generate node1.key
275+
# file node1.key is created.
276+
$ devp2p key to-enr -ip 10.2.3.4 -udp 30303 -tcp 30303 node1.key
277+
# Prints the ENR for use in --bootnode flag of other nodes.
278+
# Note this method requires knowing the IP/ports ahead of time.
279+
$ geth --nodekey=node1.key
275280
```
276281

277282
With the bootnode online, it will display an [`enode` URL](https://ethereum.org/en/developers/docs/networking-layer/network-addresses/#enode)
278283
that other nodes can use to connect to it and exchange peer information. Make sure to
279284
replace the displayed IP address information (most probably `[::]`) with your externally
280285
accessible IP to get the actual `enode` URL.
281286

282-
*Note: You could also use a full-fledged `geth` node as a bootnode, but it's the less
283-
recommended way.*
287+
*Note: You could previously use the `bootnode` utility to start a stripped down version of geth. This is not possible anymore.*
284288

285289
#### Starting up your member nodes
286290

build/ci.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ var (
7474
allToolsArchiveFiles = []string{
7575
"COPYING",
7676
executablePath("abigen"),
77-
executablePath("bootnode"),
7877
executablePath("evm"),
7978
executablePath("geth"),
8079
executablePath("rlpdump"),
@@ -87,10 +86,6 @@ var (
8786
BinaryName: "abigen",
8887
Description: "Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages.",
8988
},
90-
{
91-
BinaryName: "bootnode",
92-
Description: "Ethereum bootnode.",
93-
},
9489
{
9590
BinaryName: "evm",
9691
Description: "Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode.",

cmd/bootnode/main.go

Lines changed: 0 additions & 209 deletions
This file was deleted.

0 commit comments

Comments
 (0)