From f422768118036ba1254ebb8139fefdea8584cec5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Mon, 7 May 2018 02:36:57 +0200 Subject: [PATCH] Continued: - fix for division-by-zero - also algo was to "happy" finding new hashes MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- contrib/chash/chash.php | 18 +++++++++--------- contrib/chash/lib/functions.php | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/contrib/chash/chash.php b/contrib/chash/chash.php index fe08cd34..90dff03e 100644 --- a/contrib/chash/chash.php +++ b/contrib/chash/chash.php @@ -61,8 +61,8 @@ if (is_readable(CHECK_POINT)) { $gensisHashes = array( // A famous quote from Deus Ex 2 - Invisible War multiplehashString('"Informations must be free." - AI Helios from Deus Ex'), - // My name + URL of my first StatusNet instance - multipleHashString('Roland Haeder, https://status.mxchange.org'), + // My name + URL of my GNUSocial instance + multipleHashString('Roland Haeder, https://social.mxchange.org'), // A famous quote from Linus Torwalds multipleHashString('"Software is like sex. Its better when its free." - Linus Torwalds'), // Well ... @@ -88,10 +88,10 @@ $genesisBlock = array( // Calulcate final "genesis" hash $genesisHash = hashString( + $genesisBlock[3] . $genesisBlock[0] . $genesisBlock[2] . - $genesisBlock[1] . - $genesisBlock[3] + $genesisBlock[1] ); // Get all elements to get the last part out @@ -122,7 +122,7 @@ print ('difficulty=' . $GLOBALS['difficulty'] . PHP_EOL); while (true) { // Init hash-per-block counter and hashrate $GLOBALS['hashes_block'] = 0; - $hashrate = 0; + $hashRate = 1; // Wait for block_size iterations (= found hashes). This is one block $timeBlock = microtime(true); @@ -159,12 +159,12 @@ while (true) { $testTime = abs(microtime(true) - $timeDisplay); // Calculate hashrate/sec - $hashrate = 1 / $testTime * $GLOBALS['iteration_second'] * $GLOBALS['hash_cycles']; + $hashRate = 1 / $testTime * $GLOBALS['iteration_second'] * $GLOBALS['hash_cycles']; // Only every second if ($testTime >= 1) { // Display hash rate - print ('hashrate=' . round($hashrate) . ' hashes/sec,iterSecond=' . $GLOBALS['iteration_second'] . ' iterations/sec,difficulty=' . $GLOBALS['difficulty'] . PHP_EOL); + print ('hashrate=' . round($hashRate) . ' hashes/sec,iterSecond=' . $GLOBALS['iteration_second'] . ' iterations/sec,difficulty=' . $GLOBALS['difficulty'] . PHP_EOL); // Reset timer $timeDisplay = microtime(true); @@ -287,8 +287,8 @@ while (true) { $timeBlock = abs(microtime(true) - $timeBlock); // Calculate reward - $reward = abs($timeBlock - $timeBadHashes) / $hashrate * $GLOBALS['hashes_block'] / $GLOBALS['block_size'] * 1000; - print ('timeBlock=' . $timeBlock . ',timeBadHashes=' . $timeBadHashes . ',hashesPerBlock=' . $GLOBALS['hashes_block'] .',reward=' . $reward . PHP_EOL); + $reward = abs($timeBlock - $timeBadHashes) / $hashRate * $GLOBALS['hashes_block'] / $GLOBALS['block_size'] * 1000; + print('timeBlock=' . $timeBlock . ',timeBadHashes=' . $timeBadHashes . ',hashesPerBlock=' . $GLOBALS['hashes_block'] .',reward=' . $reward . PHP_EOL); // Double difficulty $GLOBALS['difficulty'] = $GLOBALS['difficulty'] * 2; diff --git a/contrib/chash/lib/functions.php b/contrib/chash/lib/functions.php index b6bbc079..8401a108 100644 --- a/contrib/chash/lib/functions.php +++ b/contrib/chash/lib/functions.php @@ -137,7 +137,7 @@ function addFoundHash ($hash) { * @return void */ function initNonce () { - $GLOBALS['nonce'] = 1 / (mt_rand() ^ pi()); + $GLOBALS['nonce'] = 1 / (mt_rand() ^ (1 / pi())); print (__FUNCTION__ . ': nonce=' . $GLOBALS['nonce'] . PHP_EOL); } -- 2.39.5