diff options
author | obscuren <geffobscura@gmail.com> | 2014-05-14 20:57:16 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-05-14 20:57:16 +0800 |
commit | 278ee3f16c407d18e311d51443e458a286fb3b71 (patch) | |
tree | 19365711978cdaa54067e583cc493a30e033c802 | |
parent | 9a057021c3bb7b73843677b7abefc7763f34e39e (diff) | |
parent | a1dcc5cd1793dc05e2ff38e8a8024690e09aebf5 (diff) | |
download | dexon-278ee3f16c407d18e311d51443e458a286fb3b71.tar.gz dexon-278ee3f16c407d18e311d51443e458a286fb3b71.tar.zst dexon-278ee3f16c407d18e311d51443e458a286fb3b71.zip |
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
-rw-r--r-- | ethereal/ethereum.go | 9 | ||||
-rw-r--r-- | ethereum/ethereum.go | 9 | ||||
-rw-r--r-- | utils/cmd.go | 32 |
3 files changed, 28 insertions, 22 deletions
diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go index 63f907571..98fab18e3 100644 --- a/ethereal/ethereum.go +++ b/ethereal/ethereum.go @@ -4,8 +4,6 @@ import ( "fmt" "github.com/ethereum/eth-go" "github.com/ethereum/eth-go/ethchain" - "github.com/ethereum/eth-go/ethpub" - "github.com/ethereum/eth-go/ethrpc" "github.com/ethereum/eth-go/ethutil" "github.com/ethereum/go-ethereum/ethereal/ui" "github.com/ethereum/go-ethereum/utils" @@ -115,12 +113,7 @@ save these words so you can restore your account later: %s } if StartRpc { - ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort) - if err != nil { - log.Println("Could not start RPC interface:", err) - } else { - go ethereum.RpcServer.Start() - } + utils.DoRpc(ethereum, RpcPort) } log.Printf("Starting Ethereum GUI v%s\n", ethutil.Config.Ver) diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go index c4d419d70..2abf6da42 100644 --- a/ethereum/ethereum.go +++ b/ethereum/ethereum.go @@ -4,8 +4,6 @@ import ( "fmt" "github.com/ethereum/eth-go" "github.com/ethereum/eth-go/ethchain" - "github.com/ethereum/eth-go/ethpub" - "github.com/ethereum/eth-go/ethrpc" "github.com/ethereum/eth-go/ethutil" "github.com/ethereum/go-ethereum/utils" "log" @@ -149,12 +147,7 @@ save these words so you can restore your account later: %s go console.Start() } if StartRpc { - ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort) - if err != nil { - logger.Infoln("Could not start RPC interface:", err) - } else { - go ethereum.RpcServer.Start() - } + utils.DoRpc(ethereum, RpcPort) } RegisterInterrupts(ethereum) diff --git a/utils/cmd.go b/utils/cmd.go index 654014169..8395ac8fc 100644 --- a/utils/cmd.go +++ b/utils/cmd.go @@ -3,24 +3,44 @@ package utils import ( "github.com/ethereum/eth-go" "github.com/ethereum/eth-go/ethminer" - _ "github.com/ethereum/eth-go/ethrpc" + "github.com/ethereum/eth-go/ethpub" + "github.com/ethereum/eth-go/ethrpc" "github.com/ethereum/eth-go/ethutil" "log" + "time" ) +func DoRpc(ethereum *eth.Ethereum, RpcPort int) { + var err error + ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum), RpcPort) + if err != nil { + log.Println("Could not start RPC interface:", err) + } else { + go ethereum.RpcServer.Start() + } +} + func DoMining(ethereum *eth.Ethereum) { // Set Mining status ethereum.Mining = true - log.Println("Miner started") + if ethutil.GetKeyRing().Len() == 0 { + log.Println("No address found, can't start mining") + return + } + keyPair := ethutil.GetKeyRing().Get(0) + addr := keyPair.Address() - // Fake block mining. It broadcasts a new block every 5 seconds go func() { - keyPair := ethutil.GetKeyRing().Get(0) - addr := keyPair.Address() + // Give it some time to connect with peers + time.Sleep(3 * time.Second) + + for ethereum.IsUpToDate() == false { + time.Sleep(5 * time.Second) + } + log.Println("Miner started") miner := ethminer.NewDefaultMiner(addr, ethereum) miner.Start() - }() } |