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 /utils | |
parent | 9a057021c3bb7b73843677b7abefc7763f34e39e (diff) | |
parent | a1dcc5cd1793dc05e2ff38e8a8024690e09aebf5 (diff) | |
download | go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar.gz go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar.bz2 go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar.lz go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar.xz go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.tar.zst go-tangerine-278ee3f16c407d18e311d51443e458a286fb3b71.zip |
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
Diffstat (limited to 'utils')
-rw-r--r-- | utils/cmd.go | 32 |
1 files changed, 26 insertions, 6 deletions
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() - }() } |