aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/utils')
-rw-r--r--cmd/utils/flags.go14
1 files changed, 12 insertions, 2 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index e945a32ee..2c7d37942 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -77,6 +77,10 @@ var (
Usage: "Virtual Machine type: 0 is standard VM, 1 is debug VM",
}
*/
+ UnlockedAccountFlag = cli.StringFlag{
+ Name: "unlock",
+ Usage: "Unlock a given account untill this programs exits (address:password)",
+ }
VMDebugFlag = cli.BoolFlag{
Name: "vmdebug",
Usage: "Virtual Machine debug output",
@@ -218,10 +222,16 @@ func GetChain(ctx *cli.Context) (*core.ChainManager, ethutil.Database, ethutil.D
return core.NewChainManager(blockDb, stateDb, new(event.TypeMux)), blockDb, stateDb
}
+// Global account manager
+var km *accounts.Manager
+
func GetAccountManager(ctx *cli.Context) *accounts.Manager {
dataDir := ctx.GlobalString(DataDirFlag.Name)
- ks := crypto.NewKeyStorePassphrase(path.Join(dataDir, "keys"))
- return accounts.NewManager(ks)
+ if km == nil {
+ ks := crypto.NewKeyStorePassphrase(path.Join(dataDir, "keys"))
+ km = accounts.NewManager(ks)
+ }
+ return km
}
func StartRPC(eth *eth.Ethereum, ctx *cli.Context) {