aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2020-07-08 11:13:33 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2020-07-08 19:30:27 +0200
commit50c22ca30047586b7ac944b6c9e80cb623ef8de9 (patch)
tree15ff59a9dbb3bb22092e7294bb7e320eb5de06e1
parent596b71b29378421d67d1c4660b3b872eec320805 (diff)
downloadmonzero-gui-50c22ca30047586b7ac944b6c9e80cb623ef8de9.tar.gz
monzero-gui-50c22ca30047586b7ac944b6c9e80cb623ef8de9.tar.xz
monzero-gui-50c22ca30047586b7ac944b6c9e80cb623ef8de9.zip
Mining: Indicate probability of finding a block in one day
-rw-r--r--pages/Mining.qml14
1 files changed, 13 insertions, 1 deletions
diff --git a/pages/Mining.qml b/pages/Mining.qml
index b1756e82..edee35c7 100644
--- a/pages/Mining.qml
+++ b/pages/Mining.qml
@@ -251,7 +251,19 @@ Rectangle {
function updateStatusText() {
if (appWindow.isMining) {
- statusText.text = qsTr("Mining at %1 H/s").arg(walletManager.miningHashRate()) + translationManager.emptyString;
+ var userHashRate = walletManager.miningHashRate();
+ if (userHashRate === 0) {
+ statusText.text = qsTr("Mining temporarily suspended.") + translationManager.emptyString;
+ }
+ else {
+ var blockTime = 120;
+ var blocksPerDay = 86400 / blockTime;
+ var globalHashRate = walletManager.networkDifficulty() / blockTime;
+ var probabilityFindNextBlock = userHashRate / globalHashRate;
+ var probabilityFindBlockDay = 1 - Math.pow(1 - probabilityFindNextBlock, blocksPerDay);
+ var chanceFindBlockDay = Math.round(1 / probabilityFindBlockDay);
+ statusText.text = qsTr("Mining at %1 H/s. It gives you a 1 in %2 daily chance of finding a block.").arg(userHashRate).arg(chanceFindBlockDay) + translationManager.emptyString;
+ }
}
else {
statusText.text = qsTr("Not mining") + translationManager.emptyString;