aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
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 {