diff options
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/flags.go | 14 |
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) { |