aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/geth
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-11-25 23:55:06 +0800
committerFelix Lange <fjl@twurst.com>2016-11-25 23:55:06 +0800
commit4c8c5e2f7410d850ee6068b46c8b880f733743d4 (patch)
treec0070af77b249084355d4f659a09809d08633840 /cmd/geth
parentd1a95c643eadd506f6ae85784d22c7823e411ee9 (diff)
downloadgo-tangerine-4c8c5e2f7410d850ee6068b46c8b880f733743d4.tar.gz
go-tangerine-4c8c5e2f7410d850ee6068b46c8b880f733743d4.tar.zst
go-tangerine-4c8c5e2f7410d850ee6068b46c8b880f733743d4.zip
cmd, ethstats, les, mobile, params: native netstats (#3336)
Diffstat (limited to 'cmd/geth')
-rw-r--r--cmd/geth/consolecmd_test.go6
-rw-r--r--cmd/geth/main.go35
-rw-r--r--cmd/geth/usage.go1
3 files changed, 32 insertions, 10 deletions
diff --git a/cmd/geth/consolecmd_test.go b/cmd/geth/consolecmd_test.go
index 3f09c0414..820e9d082 100644
--- a/cmd/geth/consolecmd_test.go
+++ b/cmd/geth/consolecmd_test.go
@@ -28,7 +28,7 @@ import (
"testing"
"time"
- "github.com/ethereum/go-ethereum/cmd/utils"
+ "github.com/ethereum/go-ethereum/params"
"github.com/ethereum/go-ethereum/rpc"
)
@@ -46,7 +46,7 @@ func TestConsoleWelcome(t *testing.T) {
// Gather all the infos the welcome message needs to contain
geth.setTemplateFunc("goos", func() string { return runtime.GOOS })
geth.setTemplateFunc("gover", runtime.Version)
- geth.setTemplateFunc("gethver", func() string { return utils.Version })
+ geth.setTemplateFunc("gethver", func() string { return params.Version })
geth.setTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
geth.setTemplateFunc("apis", func() []string {
apis := append(strings.Split(rpc.DefaultIPCApis, ","), rpc.MetadataApi)
@@ -132,7 +132,7 @@ func testAttachWelcome(t *testing.T, geth *testgeth, endpoint string) {
// Gather all the infos the welcome message needs to contain
attach.setTemplateFunc("goos", func() string { return runtime.GOOS })
attach.setTemplateFunc("gover", runtime.Version)
- attach.setTemplateFunc("gethver", func() string { return utils.Version })
+ attach.setTemplateFunc("gethver", func() string { return params.Version })
attach.setTemplateFunc("etherbase", func() string { return geth.Etherbase })
attach.setTemplateFunc("niltime", func() string { return time.Unix(0, 0).Format(time.RFC1123) })
attach.setTemplateFunc("ipc", func() bool { return strings.HasPrefix(endpoint, "ipc") })
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index a275d8aa5..bcf9edbf0 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -40,6 +40,8 @@ import (
"github.com/ethereum/go-ethereum/logger/glog"
"github.com/ethereum/go-ethereum/metrics"
"github.com/ethereum/go-ethereum/node"
+ "github.com/ethereum/go-ethereum/params"
+ "github.com/ethereum/go-ethereum/rlp"
"gopkg.in/urfave/cli.v1"
)
@@ -173,6 +175,7 @@ participating.
utils.VMEnableJitFlag,
utils.NetworkIdFlag,
utils.RPCCORSDomainFlag,
+ utils.EthStatsURLFlag,
utils.MetricsEnabledFlag,
utils.FakePoWFlag,
utils.SolcPathFlag,
@@ -254,8 +257,24 @@ func initGenesis(ctx *cli.Context) error {
}
func makeFullNode(ctx *cli.Context) *node.Node {
+ // Create the default extradata and construct the base node
+ var clientInfo = struct {
+ Version uint
+ Name string
+ GoVersion string
+ Os string
+ }{uint(params.VersionMajor<<16 | params.VersionMinor<<8 | params.VersionPatch), clientIdentifier, runtime.Version(), runtime.GOOS}
+ extra, err := rlp.EncodeToBytes(clientInfo)
+ if err != nil {
+ glog.V(logger.Warn).Infoln("error setting canonical miner information:", err)
+ }
+ if uint64(len(extra)) > params.MaximumExtraDataSize.Uint64() {
+ glog.V(logger.Warn).Infoln("error setting canonical miner information: extra exceeds", params.MaximumExtraDataSize)
+ glog.V(logger.Debug).Infof("extra: %x\n", extra)
+ extra = nil
+ }
stack := utils.MakeNode(ctx, clientIdentifier, gitCommit)
- utils.RegisterEthService(ctx, stack, utils.MakeDefaultExtraData(clientIdentifier))
+ utils.RegisterEthService(ctx, stack, extra)
// Whisper must be explicitly enabled, but is auto-enabled in --dev mode.
shhEnabled := ctx.GlobalBool(utils.WhisperEnabledFlag.Name)
@@ -263,14 +282,17 @@ func makeFullNode(ctx *cli.Context) *node.Node {
if shhEnabled || shhAutoEnabled {
utils.RegisterShhService(stack)
}
-
+ // Add the Ethereum Stats daemon if requested
+ if url := ctx.GlobalString(utils.EthStatsURLFlag.Name); url != "" {
+ utils.RegisterEthStatsService(stack, url)
+ }
// Add the release oracle service so it boots along with node.
if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
config := release.Config{
Oracle: relOracle,
- Major: uint32(utils.VersionMajor),
- Minor: uint32(utils.VersionMinor),
- Patch: uint32(utils.VersionPatch),
+ Major: uint32(params.VersionMajor),
+ Minor: uint32(params.VersionMinor),
+ Patch: uint32(params.VersionPatch),
}
commit, _ := hex.DecodeString(gitCommit)
copy(config.Commit[:], commit)
@@ -278,7 +300,6 @@ func makeFullNode(ctx *cli.Context) *node.Node {
}); err != nil {
utils.Fatalf("Failed to register the Geth release oracle service: %v", err)
}
-
return stack
}
@@ -342,7 +363,7 @@ func makedag(ctx *cli.Context) error {
func version(ctx *cli.Context) error {
fmt.Println(strings.Title(clientIdentifier))
- fmt.Println("Version:", utils.Version)
+ fmt.Println("Version:", params.Version)
if gitCommit != "" {
fmt.Println("Git Commit:", gitCommit)
}
diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go
index e4abf6b30..50c742e7c 100644
--- a/cmd/geth/usage.go
+++ b/cmd/geth/usage.go
@@ -161,6 +161,7 @@ var AppHelpFlagGroups = []flagGroup{
{
Name: "LOGGING AND DEBUGGING",
Flags: append([]cli.Flag{
+ utils.EthStatsURLFlag,
utils.MetricsEnabledFlag,
utils.FakePoWFlag,
}, debug.Flags...),