Also store total found hashes (much lesser than total hashes).
[core.git] / contrib / chash / chash.php
index 77fc8949d6aaef7ba13507de7d393aeb5f7bd00e..7f5eb349e26dbf13aaae08e95293972e102272a8 100644 (file)
@@ -207,7 +207,18 @@ function flushCheckPointFile ($hash) {
        $timer = microtime(TRUE);
 
        // Flush data
-       file_put_contents(CHECK_POINT, $GLOBALS['total_blocks'] . ':' . $GLOBALS['total_reward'] . ':' . $GLOBALS['total_hashes'] . ':' . $GLOBALS['hash_cycles'] . ':' . base64_encode($GLOBALS['nonce']) . ':' . $hash . ':' . $GLOBALS['root_hash'] . ':' . base64_encode(gzcompress(serialize($GLOBALS['found_hashes']))));
+       file_put_contents(
+               CHECK_POINT,
+               $GLOBALS['total_blocks'] . ':' .
+               $GLOBALS['total_reward'] . ':' .
+               $GLOBALS['total_hashes'] . ':' .
+               $GLOBALS['total_found'] . ':' .
+               $GLOBALS['hash_cycles'] . ':' .
+               base64_encode($GLOBALS['nonce']) . ':' .
+               $hash . ':' .
+               $GLOBALS['root_hash'] . ':' .
+               base64_encode(gzcompress(serialize($GLOBALS['found_hashes'])))
+       );
 
        // Set time
        $GLOBALS['time_flush'] = microtime(TRUE);
@@ -221,7 +232,7 @@ function flushCheckPointFile ($hash) {
  */
 function addFoundHash ($hash) {
        // Increment counter
-       $GLOBALS['current_hashes']++;
+       $GLOBALS['total_found']++;
 
        // Add hash to array
        array_push($GLOBALS['found_hashes'][$GLOBALS['total_blocks']], array(
@@ -236,7 +247,7 @@ function addFoundHash ($hash) {
        ));
 
        // Found hash:
-       print ('FOUND: hash=' . $hash . ',nonce=' . $GLOBALS['nonce'] . ',current_hashes=' . $GLOBALS['current_hashes'] . PHP_EOL);
+       print ('FOUND: hash=' . $hash . ',nonce=' . $GLOBALS['nonce'] . ',total_found=' . $GLOBALS['total_found'] . PHP_EOL);
 
        // Set time as a new hash was found
        $GLOBALS['found_time'] = microtime(TRUE);
@@ -327,8 +338,8 @@ print ('modulaHash=' . $GLOBALS['modula_hash'] . PHP_EOL);
 // Total reward + hashes
 $GLOBALS['total_reward']   = 0;
 $GLOBALS['total_hashes']   = 0;
+$GLOBALS['total_found']    = 0;
 $GLOBALS['total_blocks']   = 0;
-$GLOBALS['current_hashes'] = 0;
 $GLOBALS['found_time']     = microtime(TRUE);
 
 // Is the check point there?
@@ -340,19 +351,20 @@ if (is_readable(CHECK_POINT)) {
        $data = explode(':', $checkPoint);
 
        // Assert on count
-       assert(count($data) == 8);
+       assert(count($data) == 9);
 
        // 1st element is nonce, 2nd hash, 3rd found hashes
        $GLOBALS['total_blocks'] = $data[0];
        $GLOBALS['total_reward'] = $data[1];
        $GLOBALS['total_hashes'] = $data[2];
-       $GLOBALS['hash_cycles']  = intval($data[3]);
-       $GLOBALS['nonce']        = base64_decode($data[4]);
-       $GLOBALS['root_hash']    = $data[6];
-       $GLOBALS['found_hashes'] = unserialize(gzuncompress(base64_decode($data[7])));
+       $GLOBALS['total_found']  = $data[3];
+       $GLOBALS['hash_cycles']  = intval($data[4]);
+       $GLOBALS['nonce']        = base64_decode($data[5]);
+       $GLOBALS['root_hash']    = $data[7];
+       $GLOBALS['found_hashes'] = unserialize(gzuncompress(base64_decode($data[8])));
 
        // Set modula hash
-       setModulaHash($data[5]);
+       setModulaHash($data[6]);
 } else {
        // Create nonce (small)
        initNonce();