go-ethereum/cmd/utils
lightclient f12f0ec0cd
cmd/utils: allow --networkid to override other config options (#32999)
Recently in #31630 we removed support for overriding the network id in
preset networks. While this feature is niche, it is useful for shadow
forks. This PR proposes we add the functionality back, but in a simpler
way.

Instead of checking whether the flag is set in each branch of the
network switch statement, simply apply the network flag after the switch
statement is complete. This retains the following behavior:

1. Auto network id based on chain id still works, because `IsSet` only
returns true if the flag is _actually_ set. Not if it just has a default
set.
2. The preset networks will set their network id directly and only if
the network id flag is set is it overridden. This, combined with the
override genesis flag is what allows the shadow forks.
3. Setting the network id to the same network id that the preset _would
have_ set causes no issues and simply emits the `WARN` that the flag is
being set explicitly. I don't think people explicitly set the network id
flag often.

```
WARN [10-22|09:36:15.052] Setting network id with flag             id=10
```

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2025-11-28 15:24:21 +01:00
..
cmd.go cmd/utils: use maximum uint64 value for receipt chain insertion (#32934) 2025-10-18 19:54:56 +08:00
diskusage.go all: add build tags for wasip1 (#31090) 2025-01-30 16:58:53 +01:00
diskusage_openbsd.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
diskusage_windows.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
export_test.go all: use fmt.Appendf instead of fmt.Sprintf where possible (#31301) 2025-03-25 14:53:02 +01:00
flags.go cmd/utils: allow --networkid to override other config options (#32999) 2025-11-28 15:24:21 +01:00
flags_legacy.go cmd/utils: show full deprecated flags (#32141) 2025-07-04 09:40:16 +08:00
flags_test.go build: update to golangci-lint 1.61.0 (#30587) 2024-10-14 19:25:22 +02:00
history_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
prompt.go cmd/geth: remove unlock commandline flag (#30737) 2024-11-15 10:15:15 +01:00