diff options
author | Felix Lange <fjl@twurst.com> | 2016-08-16 00:38:32 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2016-08-17 23:39:03 +0800 |
commit | 312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e (patch) | |
tree | e10f9cc260af1ce13cb67b02bbce9c17c3b09de2 /node/service.go | |
parent | d6625ac34dad741f5659ca1dad3b0179603d37f0 (diff) | |
download | go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.gz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.bz2 go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.lz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.xz go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.tar.zst go-tangerine-312263c7d9457fe7c24aac8e42a4cf2efc6ccd8e.zip |
cmd/utils, node: create account manager in package node
The account manager was previously created by packge cmd/utils as part
of flag processing and then passed down into eth.Ethereum through its
config struct. Since we are starting to create nodes which do not have
eth.Ethereum as a registered service, the code was rearranged to
register the account manager as its own service. Making it a service is
ugly though and it doesn't really fix the root cause: creating nodes
without eth.Ethereum requires duplicating lots of code.
This commit splits utils.MakeSystemNode into three functions, making
creation of other node/service configurations easier. It also moves the
account manager into Node so it can be used by those configurations
without requiring package eth.
Diffstat (limited to 'node/service.go')
-rw-r--r-- | node/service.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/node/service.go b/node/service.go index 4d9a6e42c..51531466b 100644 --- a/node/service.go +++ b/node/service.go @@ -20,6 +20,7 @@ import ( "path/filepath" "reflect" + "github.com/ethereum/go-ethereum/accounts" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/p2p" @@ -30,9 +31,10 @@ import ( // the protocol stack, that is passed to all constructors to be optionally used; // as well as utility methods to operate on the service environment. type ServiceContext struct { - datadir string // Data directory for protocol persistence - services map[reflect.Type]Service // Index of the already constructed services - EventMux *event.TypeMux // Event multiplexer used for decoupled notifications + datadir string // Data directory for protocol persistence + services map[reflect.Type]Service // Index of the already constructed services + EventMux *event.TypeMux // Event multiplexer used for decoupled notifications + AccountManager *accounts.Manager // Account manager created by the node. } // OpenDatabase opens an existing database with the given name (or creates one |