forked from cerc-io/plugeth
		
	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
	
	Block a user