Fixed miner channel
This commit is contained in:
commit
75df148ba2
@ -419,6 +419,17 @@ ApplicationWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
y: 6
|
||||||
|
id: lastBlockLabel
|
||||||
|
objectName: "lastBlockLabel"
|
||||||
|
visible: true
|
||||||
|
text: ""
|
||||||
|
font.pixelSize: 10
|
||||||
|
anchors.right: peerGroup.left
|
||||||
|
anchors.rightMargin: 5
|
||||||
|
}
|
||||||
|
|
||||||
ProgressBar {
|
ProgressBar {
|
||||||
id: syncProgressIndicator
|
id: syncProgressIndicator
|
||||||
visible: false
|
visible: false
|
||||||
@ -426,35 +437,36 @@ ApplicationWindow {
|
|||||||
y: 3
|
y: 3
|
||||||
width: 140
|
width: 140
|
||||||
indeterminate: true
|
indeterminate: true
|
||||||
anchors.right: peerLabel.left
|
anchors.right: peerGroup.left
|
||||||
anchors.rightMargin: 5
|
anchors.rightMargin: 5
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
RowLayout {
|
||||||
y: 7
|
id: peerGroup
|
||||||
anchors.right: peerImage.left
|
y: 7
|
||||||
anchors.rightMargin: 5
|
anchors.right: parent.right
|
||||||
id: peerLabel
|
MouseArea {
|
||||||
font.pixelSize: 8
|
onDoubleClicked: peerWindow.visible = true
|
||||||
text: "0 / 0"
|
anchors.fill: parent
|
||||||
}
|
}
|
||||||
Image {
|
|
||||||
y: 7
|
Label {
|
||||||
id: peerImage
|
id: peerLabel
|
||||||
anchors.right: parent.right
|
font.pixelSize: 8
|
||||||
width: 10; height: 10
|
text: "0 / 0"
|
||||||
MouseArea {
|
}
|
||||||
onDoubleClicked: peerWindow.visible = true
|
Image {
|
||||||
anchors.fill: parent
|
id: peerImage
|
||||||
}
|
width: 10; height: 10
|
||||||
source: "../network.png"
|
source: "../network.png"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
id: popup
|
id: popup
|
||||||
visible: false
|
visible: false
|
||||||
flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
//flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
||||||
property var block
|
property var block
|
||||||
width: root.width
|
width: root.width
|
||||||
height: 300
|
height: 300
|
||||||
@ -589,7 +601,7 @@ ApplicationWindow {
|
|||||||
|
|
||||||
Window {
|
Window {
|
||||||
id: addPeerWin
|
id: addPeerWin
|
||||||
flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
//flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
||||||
visible: false
|
visible: false
|
||||||
minimumWidth: 230
|
minimumWidth: 230
|
||||||
maximumWidth: 230
|
maximumWidth: 230
|
||||||
@ -756,7 +768,7 @@ ApplicationWindow {
|
|||||||
// ******************************************
|
// ******************************************
|
||||||
Window {
|
Window {
|
||||||
id: peerWindow
|
id: peerWindow
|
||||||
flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
//flags: Qt.CustomizeWindowHint | Qt.Tool | Qt.WindowCloseButtonHint
|
||||||
height: 200
|
height: 200
|
||||||
width: 700
|
width: 700
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@ -17,6 +17,8 @@ type DebuggerWindow struct {
|
|||||||
|
|
||||||
vm *ethchain.Vm
|
vm *ethchain.Vm
|
||||||
Db *Debugger
|
Db *Debugger
|
||||||
|
|
||||||
|
state *ethchain.State
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDebuggerWindow(lib *UiLib) *DebuggerWindow {
|
func NewDebuggerWindow(lib *UiLib) *DebuggerWindow {
|
||||||
@ -53,6 +55,7 @@ func (self *DebuggerWindow) SetCode(code string) {
|
|||||||
func (self *DebuggerWindow) SetData(data string) {
|
func (self *DebuggerWindow) SetData(data string) {
|
||||||
self.win.Set("dataText", data)
|
self.win.Set("dataText", data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *DebuggerWindow) SetAsm(data []byte) {
|
func (self *DebuggerWindow) SetAsm(data []byte) {
|
||||||
self.win.Root().Call("clearAsm")
|
self.win.Root().Call("clearAsm")
|
||||||
|
|
||||||
|
@ -270,6 +270,10 @@ func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
|
|||||||
gui.win.Root().Call("setWalletValue", str)
|
gui.win.Root().Call("setWalletValue", str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *Gui) getObjectByName(objectName string) qml.Object {
|
||||||
|
return self.win.Root().ObjectByName(objectName)
|
||||||
|
}
|
||||||
|
|
||||||
// Simple go routine function that updates the list of peers in the GUI
|
// Simple go routine function that updates the list of peers in the GUI
|
||||||
func (gui *Gui) update() {
|
func (gui *Gui) update() {
|
||||||
reactor := gui.eth.Reactor()
|
reactor := gui.eth.Reactor()
|
||||||
@ -280,12 +284,15 @@ func (gui *Gui) update() {
|
|||||||
objectChan = make(chan ethutil.React, 1)
|
objectChan = make(chan ethutil.React, 1)
|
||||||
peerChan = make(chan ethutil.React, 1)
|
peerChan = make(chan ethutil.React, 1)
|
||||||
chainSyncChan = make(chan ethutil.React, 1)
|
chainSyncChan = make(chan ethutil.React, 1)
|
||||||
|
miningChan = make(chan ethutil.React, 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
reactor.Subscribe("newBlock", blockChan)
|
reactor.Subscribe("newBlock", blockChan)
|
||||||
reactor.Subscribe("newTx:pre", txChan)
|
reactor.Subscribe("newTx:pre", txChan)
|
||||||
reactor.Subscribe("newTx:post", txChan)
|
reactor.Subscribe("newTx:post", txChan)
|
||||||
reactor.Subscribe("chainSync", chainSyncChan)
|
reactor.Subscribe("chainSync", chainSyncChan)
|
||||||
|
reactor.Subscribe("miner:start", miningChan)
|
||||||
|
reactor.Subscribe("miner:stop", miningChan)
|
||||||
|
|
||||||
nameReg := ethpub.EthereumConfig(gui.eth.StateManager()).NameReg()
|
nameReg := ethpub.EthereumConfig(gui.eth.StateManager()).NameReg()
|
||||||
if nameReg != nil {
|
if nameReg != nil {
|
||||||
@ -293,13 +300,16 @@ func (gui *Gui) update() {
|
|||||||
}
|
}
|
||||||
reactor.Subscribe("peerList", peerChan)
|
reactor.Subscribe("peerList", peerChan)
|
||||||
|
|
||||||
ticker := time.NewTicker(5 * time.Second)
|
peerUpdateTicker := time.NewTicker(5 * time.Second)
|
||||||
|
generalUpdateTicker := time.NewTicker(1 * time.Second)
|
||||||
|
|
||||||
state := gui.eth.StateManager().TransState()
|
state := gui.eth.StateManager().TransState()
|
||||||
|
|
||||||
unconfirmedFunds := new(big.Int)
|
unconfirmedFunds := new(big.Int)
|
||||||
gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(state.GetAccount(gui.address()).Amount)))
|
gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(state.GetAccount(gui.address()).Amount)))
|
||||||
gui.win.Root().ObjectByName("syncProgressIndicator").Set("visible", !gui.eth.IsUpToDate())
|
gui.getObjectByName("syncProgressIndicator").Set("visible", !gui.eth.IsUpToDate())
|
||||||
|
|
||||||
|
lastBlockLabel := gui.getObjectByName("lastBlockLabel")
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
@ -349,12 +359,21 @@ func (gui *Gui) update() {
|
|||||||
gui.loadAddressBook()
|
gui.loadAddressBook()
|
||||||
case <-peerChan:
|
case <-peerChan:
|
||||||
gui.setPeerInfo()
|
gui.setPeerInfo()
|
||||||
case <-ticker.C:
|
case <-peerUpdateTicker.C:
|
||||||
|
gui.setPeerInfo()
|
||||||
|
case msg := <-miningChan:
|
||||||
|
if msg.Event == "miner:start" {
|
||||||
|
gui.miner = msg.Resource.(*ethminer.Miner)
|
||||||
|
} else {
|
||||||
|
gui.miner = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
case <-generalUpdateTicker.C:
|
||||||
if gui.miner != nil {
|
if gui.miner != nil {
|
||||||
pow := gui.miner.GetPow()
|
pow := gui.miner.GetPow()
|
||||||
fmt.Println("HashRate from miner", pow.GetHashrate())
|
fmt.Println("HashRate from miner", pow.GetHashrate())
|
||||||
}
|
}
|
||||||
gui.setPeerInfo()
|
lastBlockLabel.Set("text", "#"+gui.eth.BlockChain().CurrentBlock.Number.String())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,10 +234,10 @@ func StartRpc(ethereum *eth.Ethereum, RpcPort int) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var miner ethminer.Miner
|
var miner *ethminer.Miner
|
||||||
|
|
||||||
func GetMiner() *ethminer.Miner {
|
func GetMiner() *ethminer.Miner {
|
||||||
return &miner
|
return miner
|
||||||
}
|
}
|
||||||
|
|
||||||
func StartMining(ethereum *eth.Ethereum) bool {
|
func StartMining(ethereum *eth.Ethereum) bool {
|
||||||
@ -267,7 +267,7 @@ func StartMining(ethereum *eth.Ethereum) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func StopMining(ethereum *eth.Ethereum) bool {
|
func StopMining(ethereum *eth.Ethereum) bool {
|
||||||
if ethereum.Mining {
|
if ethereum.Mining && miner != nil {
|
||||||
miner.Stop()
|
miner.Stop()
|
||||||
logger.Infoln("Miner stopped")
|
logger.Infoln("Miner stopped")
|
||||||
ethereum.Mining = false
|
ethereum.Mining = false
|
||||||
|
Loading…
Reference in New Issue
Block a user