diff options
author | Felix Lange <fjl@twurst.com> | 2016-11-15 01:10:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-15 01:10:03 +0800 |
commit | 8dcea0ac0785c92df84d55b8322281e12189d8fb (patch) | |
tree | 18d9c033f86af4eda374261e4c0a165ac2c733c0 /cmd/utils/flags.go | |
parent | d89ea3e6f90c32a97bad58b82a15af0d81f4250e (diff) | |
parent | dfe79cc7845d94d14c2bc091c7eeac082f6b1e90 (diff) | |
download | go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar.gz go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar.bz2 go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar.lz go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar.xz go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.tar.zst go-tangerine-8dcea0ac0785c92df84d55b8322281e12189d8fb.zip |
Merge pull request #2977 from karalabe/initial-mobile-suport
mobile: initial wrappers for mobile support
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r-- | cmd/utils/flags.go | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 2d6bb4f5b..1ba905657 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -46,6 +46,7 @@ import ( "github.com/ethereum/go-ethereum/metrics" "github.com/ethereum/go-ethereum/node" "github.com/ethereum/go-ethereum/p2p/discover" + "github.com/ethereum/go-ethereum/p2p/discv5" "github.com/ethereum/go-ethereum/p2p/nat" "github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/pow" @@ -487,9 +488,9 @@ func MakeBootstrapNodes(ctx *cli.Context) []*discover.Node { // Return pre-configured nodes if none were manually requested if !ctx.GlobalIsSet(BootnodesFlag.Name) { if ctx.GlobalBool(TestNetFlag.Name) { - return TestNetBootNodes + return params.TestnetBootnodes } - return FrontierBootNodes + return params.MainnetBootnodes } // Otherwise parse and use the CLI bootstrap nodes bootnodes := []*discover.Node{} @@ -505,13 +506,36 @@ func MakeBootstrapNodes(ctx *cli.Context) []*discover.Node { return bootnodes } +// MakeBootstrapNodesV5 creates a list of bootstrap nodes from the command line +// flags, reverting to pre-configured ones if none have been specified. +func MakeBootstrapNodesV5(ctx *cli.Context) []*discv5.Node { + // Return pre-configured nodes if none were manually requested + if !ctx.GlobalIsSet(BootnodesFlag.Name) { + return params.DiscoveryV5Bootnodes + } + // Otherwise parse and use the CLI bootstrap nodes + bootnodes := []*discv5.Node{} + + for _, url := range strings.Split(ctx.GlobalString(BootnodesFlag.Name), ",") { + node, err := discv5.ParseNode(url) + if err != nil { + glog.V(logger.Error).Infof("Bootstrap URL %s: %v\n", url, err) + continue + } + bootnodes = append(bootnodes, node) + } + return bootnodes +} + // MakeListenAddress creates a TCP listening address string from set command // line flags. func MakeListenAddress(ctx *cli.Context) string { return fmt.Sprintf(":%d", ctx.GlobalInt(ListenPortFlag.Name)) } -func MakeListenAddressV5(ctx *cli.Context) string { +// MakeDiscoveryV5Address creates a UDP listening address string from set command +// line flags for the V5 discovery protocol. +func MakeDiscoveryV5Address(ctx *cli.Context) string { return fmt.Sprintf(":%d", ctx.GlobalInt(ListenPortFlag.Name)+1) } @@ -647,9 +671,10 @@ func MakeNode(ctx *cli.Context, name, gitCommit string) *node.Node { UserIdent: makeNodeUserIdent(ctx), NoDiscovery: ctx.GlobalBool(NoDiscoverFlag.Name) || ctx.GlobalBool(LightModeFlag.Name), DiscoveryV5: ctx.GlobalBool(DiscoveryV5Flag.Name) || ctx.GlobalBool(LightModeFlag.Name) || ctx.GlobalInt(LightServFlag.Name) > 0, + DiscoveryV5Addr: MakeDiscoveryV5Address(ctx), BootstrapNodes: MakeBootstrapNodes(ctx), + BootstrapNodesV5: MakeBootstrapNodesV5(ctx), ListenAddr: MakeListenAddress(ctx), - ListenAddrV5: MakeListenAddressV5(ctx), NAT: MakeNAT(ctx), MaxPeers: ctx.GlobalInt(MaxPeersFlag.Name), MaxPendingPeers: ctx.GlobalInt(MaxPendingPeersFlag.Name), |