cmd/ethereum: show more helpful message if no accounts exist
This commit is contained in:
parent
9d4e1e8f8b
commit
0bb7377ebe
|
@ -29,6 +29,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/codegangsta/cli"
|
"github.com/codegangsta/cli"
|
||||||
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/eth"
|
"github.com/ethereum/go-ethereum/eth"
|
||||||
|
@ -148,14 +149,28 @@ func main() {
|
||||||
func run(ctx *cli.Context) {
|
func run(ctx *cli.Context) {
|
||||||
fmt.Printf("Welcome to the FRONTIER\n")
|
fmt.Printf("Welcome to the FRONTIER\n")
|
||||||
utils.HandleInterrupt()
|
utils.HandleInterrupt()
|
||||||
eth := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
eth, err := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
||||||
|
if err == accounts.ErrNoKeys {
|
||||||
|
utils.Fatalf(`No accounts configured.
|
||||||
|
Please run 'ethereum account new' to create a new account.`)
|
||||||
|
} else if err != nil {
|
||||||
|
utils.Fatalf("%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
startEth(ctx, eth)
|
startEth(ctx, eth)
|
||||||
// this blocks the thread
|
// this blocks the thread
|
||||||
eth.WaitForShutdown()
|
eth.WaitForShutdown()
|
||||||
}
|
}
|
||||||
|
|
||||||
func runjs(ctx *cli.Context) {
|
func runjs(ctx *cli.Context) {
|
||||||
eth := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
eth, err := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
||||||
|
if err == accounts.ErrNoKeys {
|
||||||
|
utils.Fatalf(`No accounts configured.
|
||||||
|
Please run 'ethereum account new' to create a new account.`)
|
||||||
|
} else if err != nil {
|
||||||
|
utils.Fatalf("%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
startEth(ctx, eth)
|
startEth(ctx, eth)
|
||||||
repl := newJSRE(eth)
|
repl := newJSRE(eth)
|
||||||
if len(ctx.Args()) == 0 {
|
if len(ctx.Args()) == 0 {
|
||||||
|
|
|
@ -95,7 +95,10 @@ func run(ctx *cli.Context) {
|
||||||
tstart := time.Now()
|
tstart := time.Now()
|
||||||
|
|
||||||
// TODO: show qml popup instead of exiting if initialization fails.
|
// TODO: show qml popup instead of exiting if initialization fails.
|
||||||
ethereum := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
ethereum, err := utils.GetEthereum(ClientIdentifier, Version, ctx)
|
||||||
|
if err != nil {
|
||||||
|
utils.Fatalf("%v", err)
|
||||||
|
}
|
||||||
utils.StartRPC(ethereum, ctx)
|
utils.StartRPC(ethereum, ctx)
|
||||||
go utils.StartEthereum(ethereum)
|
go utils.StartEthereum(ethereum)
|
||||||
fmt.Println("initializing eth stack took", time.Since(tstart))
|
fmt.Println("initializing eth stack took", time.Since(tstart))
|
||||||
|
|
|
@ -157,8 +157,8 @@ func GetNodeKey(ctx *cli.Context) (key *ecdsa.PrivateKey) {
|
||||||
return key
|
return key
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum {
|
func GetEthereum(clientID, version string, ctx *cli.Context) (*eth.Ethereum, error) {
|
||||||
ethereum, err := eth.New(ð.Config{
|
return eth.New(ð.Config{
|
||||||
Name: p2p.MakeName(clientID, version),
|
Name: p2p.MakeName(clientID, version),
|
||||||
DataDir: ctx.GlobalString(DataDirFlag.Name),
|
DataDir: ctx.GlobalString(DataDirFlag.Name),
|
||||||
LogFile: ctx.GlobalString(LogFileFlag.Name),
|
LogFile: ctx.GlobalString(LogFileFlag.Name),
|
||||||
|
@ -175,10 +175,6 @@ func GetEthereum(clientID, version string, ctx *cli.Context) *eth.Ethereum {
|
||||||
Dial: true,
|
Dial: true,
|
||||||
BootNodes: ctx.GlobalString(BootnodesFlag.Name),
|
BootNodes: ctx.GlobalString(BootnodesFlag.Name),
|
||||||
})
|
})
|
||||||
if err != nil {
|
|
||||||
exit(err)
|
|
||||||
}
|
|
||||||
return ethereum
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetChain(ctx *cli.Context) (*core.ChainManager, ethutil.Database, ethutil.Database) {
|
func GetChain(ctx *cli.Context) (*core.ChainManager, ethutil.Database, ethutil.Database) {
|
||||||
|
|
Loading…
Reference in New Issue