aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/swarm/main.go
diff options
context:
space:
mode:
authorElad <theman@elad.im>2018-08-20 20:09:50 +0800
committerPéter Szilágyi <peterke@gmail.com>2018-08-20 20:09:50 +0800
commitc4078fc80527b2cf0c2fd3e8771e9db06a597152 (patch)
tree7dfaaf59e0ee63a9dbbf54c2bdddd0c4a564e1b1 /cmd/swarm/main.go
parentd3488c1affee6843d75db77b36f504c73e5e02e7 (diff)
downloadgo-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar.gz
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar.bz2
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar.lz
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar.xz
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.tar.zst
go-tangerine-c4078fc80527b2cf0c2fd3e8771e9db06a597152.zip
cmd/swarm: added swarm bootnodes (#17414)
Diffstat (limited to 'cmd/swarm/main.go')
-rw-r--r--cmd/swarm/main.go51
1 files changed, 21 insertions, 30 deletions
diff --git a/cmd/swarm/main.go b/cmd/swarm/main.go
index 76be60cb6..637ae06e9 100644
--- a/cmd/swarm/main.go
+++ b/cmd/swarm/main.go
@@ -37,7 +37,6 @@ import (
"github.com/ethereum/go-ethereum/internal/debug"
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/node"
- "github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/p2p/discover"
"github.com/ethereum/go-ethereum/swarm"
bzzapi "github.com/ethereum/go-ethereum/swarm/api"
@@ -67,14 +66,7 @@ OPTIONS:
`
var (
- gitCommit string // Git SHA1 commit hash of the release (set via linker flags)
- testbetBootNodes = []string{
- "enode://ec8ae764f7cb0417bdfb009b9d0f18ab3818a3a4e8e7c67dd5f18971a93510a2e6f43cd0b69a27e439a9629457ea804104f37c85e41eed057d3faabbf7744cdf@13.74.157.139:30429",
- "enode://c2e1fceb3bf3be19dff71eec6cccf19f2dbf7567ee017d130240c670be8594bc9163353ca55dd8df7a4f161dd94b36d0615c17418b5a3cdcbb4e9d99dfa4de37@13.74.157.139:30430",
- "enode://fe29b82319b734ce1ec68b84657d57145fee237387e63273989d354486731e59f78858e452ef800a020559da22dcca759536e6aa5517c53930d29ce0b1029286@13.74.157.139:30431",
- "enode://1d7187e7bde45cf0bee489ce9852dd6d1a0d9aa67a33a6b8e6db8a4fbc6fcfa6f0f1a5419343671521b863b187d1c73bad3603bae66421d157ffef357669ddb8@13.74.157.139:30432",
- "enode://0e4cba800f7b1ee73673afa6a4acead4018f0149d2e3216be3f133318fd165b324cd71b81fbe1e80deac8dbf56e57a49db7be67f8b9bc81bd2b7ee496434fb5d@13.74.157.139:30433",
- }
+ gitCommit string // Git SHA1 commit hash of the release (set via linker flags)
)
var (
@@ -619,6 +611,9 @@ func bzzd(ctx *cli.Context) error {
if _, err := os.Stat(bzzconfig.Path); err == nil {
cfg.DataDir = bzzconfig.Path
}
+
+ //optionally set the bootnodes before configuring the node
+ setSwarmBootstrapNodes(ctx, &cfg)
//setup the ethereum node
utils.SetNodeConfig(ctx, &cfg)
stack, err := node.New(&cfg)
@@ -643,16 +638,6 @@ func bzzd(ctx *cli.Context) error {
stack.Stop()
}()
- // Add bootnodes as initial peers.
- if bzzconfig.BootNodes != "" {
- bootnodes := strings.Split(bzzconfig.BootNodes, ",")
- injectBootnodes(stack.Server(), bootnodes)
- } else {
- if bzzconfig.NetworkID == 3 {
- injectBootnodes(stack.Server(), testbetBootNodes)
- }
- }
-
stack.Wait()
return nil
}
@@ -760,17 +745,6 @@ func getPassPhrase(prompt string, i int, passwords []string) string {
return password
}
-func injectBootnodes(srv *p2p.Server, nodes []string) {
- for _, url := range nodes {
- n, err := discover.ParseNode(url)
- if err != nil {
- log.Error("Invalid swarm bootnode", "err", err)
- continue
- }
- srv.AddPeer(n)
- }
-}
-
// addDefaultHelpSubcommand scans through defined CLI commands and adds
// a basic help subcommand to each
// if a help command is already defined, it will take precedence over the default.
@@ -783,3 +757,20 @@ func addDefaultHelpSubcommands(commands []cli.Command) {
}
}
}
+
+func setSwarmBootstrapNodes(ctx *cli.Context, cfg *node.Config) {
+ if ctx.GlobalIsSet(utils.BootnodesFlag.Name) || ctx.GlobalIsSet(utils.BootnodesV4Flag.Name) {
+ return
+ }
+
+ cfg.P2P.BootstrapNodes = []*discover.Node{}
+
+ for _, url := range SwarmBootnodes {
+ node, err := discover.ParseNode(url)
+ if err != nil {
+ log.Error("Bootstrap URL invalid", "enode", url, "err", err)
+ }
+ cfg.P2P.BootstrapNodes = append(cfg.P2P.BootstrapNodes, node)
+ }
+ log.Debug("added default swarm bootnodes", "length", len(cfg.P2P.BootstrapNodes))
+}