aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorzsfelfoldi <zsfelfoldi@gmail.com>2015-12-16 11:26:23 +0800
committerzsfelfoldi <zsfelfoldi@gmail.com>2016-06-16 23:36:38 +0800
commit3a97280ae889bb6852ba16e70750a37b2ed08473 (patch)
tree41e078895ddd76fe81b323539046b7d9df8b17b3 /cmd
parenta38be3eb488a349693a9c9905ab015278281f8db (diff)
downloaddexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar.gz
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar.bz2
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar.lz
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar.xz
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.tar.zst
dexon-3a97280ae889bb6852ba16e70750a37b2ed08473.zip
eth: separate common and full node-specific API and backend service
Diffstat (limited to 'cmd')
-rw-r--r--cmd/geth/main.go10
-rw-r--r--cmd/gethrpctest/main.go2
-rw-r--r--cmd/utils/flags.go7
3 files changed, 15 insertions, 4 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index c372430f1..623f8ac81 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -29,6 +29,7 @@ import (
"time"
"github.com/ethereum/ethash"
+ "github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/cmd/utils"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/console"
@@ -313,11 +314,10 @@ func startNode(ctx *cli.Context, stack *node.Node) {
utils.StartNode(stack)
// Unlock any account specifically requested
- var ethereum *eth.Ethereum
- if err := stack.Service(&ethereum); err != nil {
+ var accman *accounts.Manager
+ if err := stack.Service(&accman); err != nil {
utils.Fatalf("ethereum service not running: %v", err)
}
- accman := ethereum.AccountManager()
passwords := utils.MakePasswordList(ctx)
accounts := strings.Split(ctx.GlobalString(utils.UnlockedAccountFlag.Name), ",")
@@ -328,6 +328,10 @@ func startNode(ctx *cli.Context, stack *node.Node) {
}
// Start auxiliary services if enabled
if ctx.GlobalBool(utils.MiningEnabledFlag.Name) {
+ var ethereum *eth.FullNodeService
+ if err := stack.Service(&ethereum); err != nil {
+ utils.Fatalf("ethereum service not running: %v", err)
+ }
if err := ethereum.StartMining(ctx.GlobalInt(utils.MinerThreadsFlag.Name), ctx.GlobalString(utils.MiningGPUFlag.Name)); err != nil {
utils.Fatalf("Failed to start mining: %v", err)
}
diff --git a/cmd/gethrpctest/main.go b/cmd/gethrpctest/main.go
index 2e07e9426..668efbfc7 100644
--- a/cmd/gethrpctest/main.go
+++ b/cmd/gethrpctest/main.go
@@ -146,7 +146,7 @@ func MakeSystemNode(keydir string, privkey string, test *tests.BlockTest) (*node
// RunTest executes the specified test against an already pre-configured protocol
// stack to ensure basic checks pass before running RPC tests.
func RunTest(stack *node.Node, test *tests.BlockTest) error {
- var ethereum *eth.Ethereum
+ var ethereum *eth.FullNodeService
stack.Service(&ethereum)
blockchain := ethereum.BlockChain()
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 14898b987..38ba3a9ba 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -763,6 +763,13 @@ func MakeSystemNode(name, version string, relconf release.Config, extra []byte,
if err != nil {
Fatalf("Failed to create the protocol stack: %v", err)
}
+
+ if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
+ return accman, nil
+ }); err != nil {
+ Fatalf("Failed to register the account manager service: %v", err)
+ }
+
if err := stack.Register(func(ctx *node.ServiceContext) (node.Service, error) {
return eth.New(ctx, ethConf)
}); err != nil {