@@ -1032,45 +1032,35 @@ func setNodeUserIdent(ctx *cli.Context, cfg *node.Config) {
10321032
10331033// setBootstrapNodes creates a list of bootstrap nodes from the command line
10341034// flags, reverting to pre-configured ones if none have been specified.
1035- // Priority order for bootnodes configuration:
1036- //
1037- // 1. --bootnodes flag
1038- // 2. Config file
1039- // 3. Network preset flags (e.g. --goerli)
1040- // 4. default to mainnet nodes
10411035func setBootstrapNodes (ctx * cli.Context , cfg * p2p.Config ) {
10421036 urls := params .MainnetBootnodes
1043- if ctx .IsSet (BootnodesFlag .Name ) {
1037+ switch {
1038+ case ctx .IsSet (BootnodesFlag .Name ):
10441039 urls = SplitAndTrim (ctx .String (BootnodesFlag .Name ))
1045- } else {
1046- if cfg .BootstrapNodes != nil {
1047- return // Already set by config file, don't apply defaults.
1048- }
1049- switch {
1050- case ctx .Bool (HoleskyFlag .Name ):
1051- urls = params .HoleskyBootnodes
1052- case ctx .Bool (SepoliaFlag .Name ):
1053- urls = params .SepoliaBootnodes
1054- case ctx .Bool (GoerliFlag .Name ):
1055- urls = params .GoerliBootnodes
1056- }
1040+ case ctx .Bool (HoleskyFlag .Name ):
1041+ urls = params .HoleskyBootnodes
1042+ case ctx .Bool (SepoliaFlag .Name ):
1043+ urls = params .SepoliaBootnodes
1044+ case ctx .Bool (GoerliFlag .Name ):
1045+ urls = params .GoerliBootnodes
10571046 }
1058- cfg .BootstrapNodes = mustParseBootnodes (urls )
1059- }
10601047
1061- func mustParseBootnodes (urls []string ) []* enode.Node {
1062- nodes := make ([]* enode.Node , 0 , len (urls ))
1048+ // don't apply defaults if BootstrapNodes is already set
1049+ if cfg .BootstrapNodes != nil {
1050+ return
1051+ }
1052+
1053+ cfg .BootstrapNodes = make ([]* enode.Node , 0 , len (urls ))
10631054 for _ , url := range urls {
10641055 if url != "" {
10651056 node , err := enode .Parse (enode .ValidSchemes , url )
10661057 if err != nil {
10671058 log .Crit ("Bootstrap URL invalid" , "enode" , url , "err" , err )
1068- return nil
1059+ continue
10691060 }
1070- nodes = append (nodes , node )
1061+ cfg . BootstrapNodes = append (cfg . BootstrapNodes , node )
10711062 }
10721063 }
1073- return nodes
10741064}
10751065
10761066// setBootstrapNodesV5 creates a list of bootstrap nodes from the command line
0 commit comments