aboutsummaryrefslogtreecommitdiff
path: root/cmd/utils/flags.go
diff options
context:
space:
mode:
authorDeterminant <[email protected]>2019-08-14 01:37:25 -0400
committerDeterminant <[email protected]>2019-08-14 01:37:25 -0400
commit592f21f5b97e5b1e714f194ae90ab83e6547cf41 (patch)
treec500cdf4ca4266af15703eca182df34d66715918 /cmd/utils/flags.go
parentad886faec521f1edcb90f6f8eb4555608d085312 (diff)
finish a full chain example (with p2p network)
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r--cmd/utils/flags.go88
1 files changed, 20 insertions, 68 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 7e28dff..54dc9cd 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -40,18 +40,17 @@ import (
"github.com/ethereum/go-ethereum/core/vm"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/dashboard"
- "github.com/ethereum/go-ethereum/eth"
"github.com/ethereum/go-ethereum/eth/downloader"
"github.com/ethereum/go-ethereum/eth/gasprice"
+ "github.com/Determinant/coreth/eth"
"github.com/ethereum/go-ethereum/ethdb"
- "github.com/ethereum/go-ethereum/ethstats"
+ "github.com/Determinant/coreth/ethstats"
"github.com/ethereum/go-ethereum/graphql"
- "github.com/ethereum/go-ethereum/les"
"github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/metrics"
"github.com/ethereum/go-ethereum/metrics/influxdb"
"github.com/ethereum/go-ethereum/miner"
- "github.com/ethereum/go-ethereum/node"
+ "github.com/Determinant/coreth/node"
"github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/p2p/discv5"
"github.com/ethereum/go-ethereum/p2p/enode"
@@ -960,41 +959,6 @@ func setIPC(ctx *cli.Context, cfg *node.Config) {
}
}
-// setLes configures the les server and ultra light client settings from the command line flags.
-func setLes(ctx *cli.Context, cfg *eth.Config) {
- if ctx.GlobalIsSet(LightLegacyServFlag.Name) {
- cfg.LightServ = ctx.GlobalInt(LightLegacyServFlag.Name)
- }
- if ctx.GlobalIsSet(LightServeFlag.Name) {
- cfg.LightServ = ctx.GlobalInt(LightServeFlag.Name)
- }
- if ctx.GlobalIsSet(LightIngressFlag.Name) {
- cfg.LightIngress = ctx.GlobalInt(LightIngressFlag.Name)
- }
- if ctx.GlobalIsSet(LightEgressFlag.Name) {
- cfg.LightEgress = ctx.GlobalInt(LightEgressFlag.Name)
- }
- if ctx.GlobalIsSet(LightLegacyPeersFlag.Name) {
- cfg.LightPeers = ctx.GlobalInt(LightLegacyPeersFlag.Name)
- }
- if ctx.GlobalIsSet(LightMaxPeersFlag.Name) {
- cfg.LightPeers = ctx.GlobalInt(LightMaxPeersFlag.Name)
- }
- if ctx.GlobalIsSet(UltraLightServersFlag.Name) {
- cfg.UltraLightServers = strings.Split(ctx.GlobalString(UltraLightServersFlag.Name), ",")
- }
- if ctx.GlobalIsSet(UltraLightFractionFlag.Name) {
- cfg.UltraLightFraction = ctx.GlobalInt(UltraLightFractionFlag.Name)
- }
- if cfg.UltraLightFraction <= 0 && cfg.UltraLightFraction > 100 {
- log.Error("Ultra light fraction is invalid", "had", cfg.UltraLightFraction, "updated", eth.DefaultConfig.UltraLightFraction)
- cfg.UltraLightFraction = eth.DefaultConfig.UltraLightFraction
- }
- if ctx.GlobalIsSet(UltraLightOnlyAnnounceFlag.Name) {
- cfg.UltraLightOnlyAnnounce = ctx.GlobalBool(UltraLightOnlyAnnounceFlag.Name)
- }
-}
-
// makeDatabaseHandles raises out the number of allowed file handles per process
// for Geth and returns half of the allowance to assign to the database.
func makeDatabaseHandles() int {
@@ -1411,7 +1375,6 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) {
setEthash(ctx, cfg)
setMiner(ctx, &cfg.Miner)
setWhitelist(ctx, cfg)
- setLes(ctx, cfg)
if ctx.GlobalIsSet(SyncModeFlag.Name) {
cfg.SyncMode = *GlobalTextMarshaler(ctx, SyncModeFlag.Name).(*downloader.SyncMode)
@@ -1513,24 +1476,21 @@ func SetDashboardConfig(ctx *cli.Context, cfg *dashboard.Config) {
// RegisterEthService adds an Ethereum client to the stack.
func RegisterEthService(stack *node.Node, cfg *eth.Config) {
- var err error
- if cfg.SyncMode == downloader.LightSync {
- err = stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
- return les.New(ctx, cfg)
- })
- } else {
- err = stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
- fullNode, err := eth.New(ctx, cfg)
- if fullNode != nil && cfg.LightServ > 0 {
- ls, _ := les.NewLesServer(fullNode, cfg)
- fullNode.AddLesServer(ls)
- }
- return fullNode, err
- })
- }
- if err != nil {
- Fatalf("Failed to register the Ethereum service: %v", err)
- }
+ var err error
+ if cfg.SyncMode == downloader.LightSync {
+ panic("not supported")
+ } else {
+ err = stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
+ fullNode, err := eth.New(ctx, cfg)
+ if fullNode != nil && cfg.LightServ > 0 {
+ panic("not supported")
+ }
+ return fullNode, err
+ })
+ }
+ if err != nil {
+ Fatalf("Failed to register the Ethereum service: %v", err)
+ }
}
// RegisterDashboardService adds a dashboard to the stack.
@@ -1553,15 +1513,12 @@ func RegisterShhService(stack *node.Node, cfg *whisper.Config) {
// the given node.
func RegisterEthStatsService(stack *node.Node, url string) {
if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
- // Retrieve both eth and les services
+ // Retrieve both eth service
var ethServ *eth.Ethereum
ctx.Service(&ethServ)
- var lesServ *les.LightEthereum
- ctx.Service(&lesServ)
-
// Let ethstats use whichever is not nil
- return ethstats.New(url, ethServ, lesServ)
+ return ethstats.New(url, ethServ, nil)
}); err != nil {
Fatalf("Failed to register the Ethereum Stats service: %v", err)
}
@@ -1575,11 +1532,6 @@ func RegisterGraphQLService(stack *node.Node, endpoint string, cors, vhosts []st
if err := ctx.Service(&ethServ); err == nil {
return graphql.New(ethServ.APIBackend, endpoint, cors, vhosts, timeouts)
}
- // Try to construct the GraphQL service backed by a light node
- var lesServ *les.LightEthereum
- if err := ctx.Service(&lesServ); err == nil {
- return graphql.New(lesServ.ApiBackend, endpoint, cors, vhosts, timeouts)
- }
// Well, this should not have happened, bail out
return nil, errors.New("no Ethereum service")
}); err != nil {