paradigmxyz / reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
https://reth.rs/
Apache License 2.0
3.74k stars 1k forks source link

`reth bootnode` command #7277

Open Rjected opened 5 months ago

Rjected commented 5 months ago

Describe the feature

Geth currently has a bootnode binary that can be run, to be a standalone bootnode for discv4 (or discv5):

https://github.com/ethereum/go-ethereum/blob/14eb8967be7acc54c5dc9a416151ac45c01251b6/cmd/bootnode/main.go#L39-L48

We should introduce a new command that runs the discovery stack in a similar way, with the same flags (except the log level ones)

Additional context

No response

AbnerZheng commented 5 months ago

I can give it a try in this weekend.

github-actions[bot] commented 4 months ago

This issue is stale because it has been open for 21 days with no activity.

ch4r10t33r commented 4 months ago

Hey can I take this one?

AbnerZheng commented 4 months ago

yeah, I don't have enough bandwidth for it. Take it if you want

ch4r10t33r commented 4 months ago

If I understand this correct, the requirement is to create a new command which can be run as reth bootnode <params> (and not as a separate standalone tool?). @Rjected

Rjected commented 4 months ago

If I understand this correct, the requirement is to create a new command which can be run as reth bootnode <params> (and not as a separate standalone tool?). @Rjected

Yep exactly!

Rjected commented 2 months ago

@ch4r10t33r any updates here? do you need help or clarification on something?

harsh-ps-2003 commented 4 weeks ago

@Rjected as far as I can understand we want to implement a bootnode command similar to Geth's, but integrated into the Reth CLI rather than as a separate tool like this - reth p2p bootnode [options] (options like genkey, nodekey, nodekeyhex, addr, port, discv4/5). This bootnode subcommand would run the discovery service in a standalone mode without starting the full node most probably? I am guessing it would output encode URL for other nodes to use. Basically useful in private networks, testiest stuff. I guess I am right, but this looks daunting to me, should I give it a try sometime?