diff options
author | Felix Lange <fjl@twurst.com> | 2015-03-12 06:35:34 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-03-12 06:43:27 +0800 |
commit | d7b5a87b3bc4a19677877d3a8c8c925211eb25f1 (patch) | |
tree | f43c6b29c27dd29cc366788353650faa1d45e7bb /cmd | |
parent | 5a9f712144058c576d14b0d27ff2d2d270cd6d27 (diff) | |
download | dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar.gz dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar.bz2 dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar.lz dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar.xz dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.tar.zst dexon-d7b5a87b3bc4a19677877d3a8c8c925211eb25f1.zip |
miner: provide coinbase when starting the miner
This avoids having to query the coinbase when creating the miner, which
in turn eliminates the dreaded startup error when no accounts are set
up. Later, this will also allow us to simply restart the miner when the
user picks a different coinbase.
This causes a lot of changes in other packages. These are included in
this commit because they're impossible to separate.
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/ethereum/js.go | 6 | ||||
-rw-r--r-- | cmd/ethereum/main.go | 2 | ||||
-rw-r--r-- | cmd/mist/assets/qml/views/miner.qml | 58 | ||||
-rw-r--r-- | cmd/mist/assets/qml/views/network.qml | 1 | ||||
-rw-r--r-- | cmd/mist/ui_lib.go | 18 |
5 files changed, 38 insertions, 47 deletions
diff --git a/cmd/ethereum/js.go b/cmd/ethereum/js.go index 5432fb9b1..3b98b588e 100644 --- a/cmd/ethereum/js.go +++ b/cmd/ethereum/js.go @@ -249,12 +249,14 @@ func (self *jsre) dump(call otto.FunctionCall) otto.Value { } func (self *jsre) stopMining(call otto.FunctionCall) otto.Value { - self.xeth.Miner().Stop() + self.ethereum.StopMining() return otto.TrueValue() } func (self *jsre) startMining(call otto.FunctionCall) otto.Value { - self.xeth.Miner().Start() + if err := self.ethereum.StartMining(); err != nil { + return otto.FalseValue() + } return otto.TrueValue() } diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go index 73c67bdc9..0d239f7b4 100644 --- a/cmd/ethereum/main.go +++ b/cmd/ethereum/main.go @@ -214,7 +214,7 @@ func startEth(ctx *cli.Context, eth *eth.Ethereum) { utils.StartRPC(eth, ctx) } if ctx.GlobalBool(utils.MiningEnabledFlag.Name) { - eth.Miner().Start() + eth.StartMining() } } diff --git a/cmd/mist/assets/qml/views/miner.qml b/cmd/mist/assets/qml/views/miner.qml index 4025ff485..ff2bf85ca 100644 --- a/cmd/mist/assets/qml/views/miner.qml +++ b/cmd/mist/assets/qml/views/miner.qml @@ -55,8 +55,8 @@ Rectangle { Button { text: "Start" onClicked: { - eth.setGasPrice(minGasPrice.text || "10000000000000"); - eth.setExtra(blockExtra.text) + // eth.setGasPrice(minGasPrice.text || "10000000000000"); + // eth.setExtra(blockExtra.text) if (eth.toggleMining()) { this.text = "Stop"; } else { @@ -65,35 +65,35 @@ Rectangle { } } - Rectangle { - id: minGasPriceRect - anchors.top: parent.top - anchors.topMargin: 2 - width: 200 - TextField { - id: minGasPrice - placeholderText: "Min Gas: 10000000000000" - width: 200 - validator: RegExpValidator { regExp: /\d*/ } - } - } + // Rectangle { + // id: minGasPriceRect + // anchors.top: parent.top + // anchors.topMargin: 2 + // width: 200 + // TextField { + // id: minGasPrice + // placeholderText: "Min Gas: 10000000000000" + // width: 200 + // validator: RegExpValidator { regExp: /\d*/ } + // } + // } - Rectangle { - width: 300 - anchors { - left: minGasPriceRect.right - leftMargin: 5 - top: parent.top - topMargin: 2 - } + // Rectangle { + // width: 300 + // anchors { + // left: minGasPriceRect.right + // leftMargin: 5 + // top: parent.top + // topMargin: 2 + // } - TextField { - id: blockExtra - placeholderText: "Extra" - width: parent.width - maximumLength: 1024 - } - } + // TextField { + // id: blockExtra + // placeholderText: "Extra" + // width: parent.width + // maximumLength: 1024 + // } + // } } } diff --git a/cmd/mist/assets/qml/views/network.qml b/cmd/mist/assets/qml/views/network.qml index d33b5773c..fe4c7734f 100644 --- a/cmd/mist/assets/qml/views/network.qml +++ b/cmd/mist/assets/qml/views/network.qml @@ -93,7 +93,6 @@ Rectangle { // Check if it's mining and set it accordingly if (miningSliderValue > 0 && !eth.miner().mining()) { // If the - eth.setGasPrice("10000000000000"); eth.miner().start(); } else if (miningSliderValue == 0 && eth.miner().mining()) { eth.miner().stop(); diff --git a/cmd/mist/ui_lib.go b/cmd/mist/ui_lib.go index 4198c6316..2679e0f95 100644 --- a/cmd/mist/ui_lib.go +++ b/cmd/mist/ui_lib.go @@ -175,22 +175,12 @@ func (self *UiLib) RemoveLocalTransaction(id int) { //self.miner.RemoveLocalTx(id) } -func (self *UiLib) SetGasPrice(price string) { - self.Miner().MinAcceptedGasPrice = ethutil.Big(price) -} - -func (self *UiLib) SetExtra(extra string) { - self.Miner().Extra = extra -} - func (self *UiLib) ToggleMining() bool { - if !self.Miner().Mining() { - self.Miner().Start() - - return true + if !self.eth.IsMining() { + err := self.eth.StartMining() + return err == nil } else { - self.Miner().Stop() - + self.eth.StopMining() return false } } |