diff options
author | obscuren <geffobscura@gmail.com> | 2015-02-20 05:33:22 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-02-20 05:33:22 +0800 |
commit | fa4cbad315609e41d88c59ecbce7c6c6169fc57a (patch) | |
tree | 5af4a3cfd497e682e41898059571b75f6f8e4cf9 /cmd/mist | |
parent | c14071df9da4ab3f5b372293e87184af9b91c09e (diff) | |
download | dexon-fa4cbad315609e41d88c59ecbce7c6c6169fc57a.tar.gz dexon-fa4cbad315609e41d88c59ecbce7c6c6169fc57a.tar.zst dexon-fa4cbad315609e41d88c59ecbce7c6c6169fc57a.zip |
Optimisations and fixed a couple of DDOS issues in the miner
Diffstat (limited to 'cmd/mist')
-rw-r--r-- | cmd/mist/assets/examples/bomb.html | 22 | ||||
-rw-r--r-- | cmd/mist/gui.go | 20 |
2 files changed, 25 insertions, 17 deletions
diff --git a/cmd/mist/assets/examples/bomb.html b/cmd/mist/assets/examples/bomb.html new file mode 100644 index 000000000..62540f9bb --- /dev/null +++ b/cmd/mist/assets/examples/bomb.html @@ -0,0 +1,22 @@ +<html> +<head> +<script src="../ext/bignumber.min.js"></script> +<script src="../ext/ethereum.js/dist/ethereum.js"></script> + +<script> +var web3 = require('web3'); +web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8545')); +var eth = web3.eth; + +function bomb() { + for (var i = 0; i < 200; i++) { + eth.transact({}) + } +} +</script> +</head> + +<body> +<button onclick="bomb();">BOOM!</button> +</body> +</html> diff --git a/cmd/mist/gui.go b/cmd/mist/gui.go index 1e3efd269..afddeb8f6 100644 --- a/cmd/mist/gui.go +++ b/cmd/mist/gui.go @@ -387,14 +387,11 @@ func (gui *Gui) update() { generalUpdateTicker := time.NewTicker(500 * time.Millisecond) statsUpdateTicker := time.NewTicker(5 * time.Second) - state := gui.eth.ChainManager().TransState() - - gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(state.GetAccount(gui.address()).Balance()))) - lastBlockLabel := gui.getObjectByName("lastBlockLabel") miningLabel := gui.getObjectByName("miningLabel") events := gui.eth.EventMux().Subscribe( + core.ChainEvent{}, core.TxPreEvent{}, core.TxPostEvent{}, ) @@ -407,6 +404,8 @@ func (gui *Gui) update() { return } switch ev := ev.(type) { + case core.ChainEvent: + gui.processBlock(ev.Block, false) case core.TxPreEvent: gui.insertTransaction("pre", ev.Tx) @@ -422,19 +421,6 @@ func (gui *Gui) update() { lastBlockLabel.Set("text", statusText) miningLabel.Set("text", "Mining @ "+strconv.FormatInt(gui.uiLib.Miner().HashRate(), 10)+"/Khash") - /* - blockLength := gui.eth.BlockPool().BlocksProcessed - chainLength := gui.eth.BlockPool().ChainLength - - var ( - pct float64 = 1.0 / float64(chainLength) * float64(blockLength) - dlWidget = gui.win.Root().ObjectByName("downloadIndicator") - dlLabel = gui.win.Root().ObjectByName("downloadLabel") - ) - dlWidget.Set("value", pct) - dlLabel.Set("text", fmt.Sprintf("%d / %d", blockLength, chainLength)) - */ - case <-statsUpdateTicker.C: gui.setStatsPane() } |