for ($idx = 0; $idx < ($GLOBALS['hash_cycles'] - 1); $idx++) {
// Over-hash the given hash
$hash = hashString($hash);
- } // END - for
+ }
// Return it
return $hash;
*/
function calculateSumFromHash ($hash) {
// Everything starts with zero ...
+ //* NOISY-DEBUG: */ printf('[%s:%d]: hash(%d)=%s - CALLED!'. PHP_EOL, __FUNCTION__, __LINE__, strlen($hash), $hash);
$sum = 0;
+ // Part of the hash is not decodeable
+ $decodeA = explode('$', $hash);
+ $decode = $decodeA[4];
+
// Loop through hash
- for ($idx = 0; $idx < (strlen($hash) / 2); $idx++) {
+ //* NOISY-DEBUG: */ printf('[%s:%d]: decode=%s' . PHP_EOL, __FUNCTION__, __LINE__, $decode);
+ for ($idx = 0; $idx < (strlen($decode) / 2); $idx++) {
// And add it
- $sum = $sum + hexdec(substr($hash, $idx, 2));
- } // END - for
+ $sum = $sum + hexdec(substr($decode, $idx, 2));
+ }
// And return it
+ //* NOISY-DEBUG: */ printf('[%s:%d]: sum=%d - EXIT!' . PHP_EOL, __FUNCTION__, __LINE__, $sum);
return $sum;
}
// Flush data
file_put_contents(
CHECKPOINT_FILE,
- $GLOBALS['total_blocks'] . '|' .
- $GLOBALS['total_reward'] . '|' .
- $GLOBALS['total_hashes'] . '|' .
- $GLOBALS['total_found'] . '|' .
- $GLOBALS['total_restarts'] . '|' .
- $GLOBALS['hash_cycles'] . '|' .
- $GLOBALS['salt'] . '|' .
- $GLOBALS['difficulty'] . '|' .
- base64_encode((float) $GLOBALS['nonce']) . '|' .
- $hash . '|' .
- $GLOBALS['root_hash'] . '|' .
- base64_encode(gzcompress(json_encode($GLOBALS['found_hashes'])))
+ // 0 1 2 3 4 5 6 7 8 9 10 11
+ sprintf('%d|%s|%d|%d|%d|%d|%s|%d|%s|%s|%s|%s',
+ // 0
+ $GLOBALS['total_blocks'],
+ // 1
+ $GLOBALS['total_reward'],
+ // 2
+ $GLOBALS['total_hashes'],
+ // 3
+ $GLOBALS['total_found'],
+ // 4
+ $GLOBALS['total_restarts'],
+ // 5
+ $GLOBALS['hash_cycles'],
+ // 6
+ $GLOBALS['salt'],
+ // 7
+ $GLOBALS['difficulty'],
+ // 8
+ base64_encode((float) $GLOBALS['nonce']),
+ // 9
+ $hash,
+ // 10
+ $GLOBALS['root_hash'],
+ // 11
+ base64_encode(gzcompress(json_encode($GLOBALS['found_hashes'])))
+ )
);
// Set time
]);
// Found hash:
- print ('FOUND: hash=' . $hash . ',nonce=' . $GLOBALS['nonce'] . ',total_found=' . $GLOBALS['total_found'] . PHP_EOL);
+ //* NOISY-DEBUG: */ 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);
-
- // Flush check-point file after new hash is found
- flushCheckPointFile($hash);
}
/**
$GLOBALS['difficulty'] = $data[7];
$GLOBALS['nonce'] = (float) base64_decode($data[8]);
$GLOBALS['current_hash'] = $data[9];
- $GLOBALS['root_hash'] = $data[9];
+ $GLOBALS['root_hash'] = $data[10];
$GLOBALS['found_hashes'] = json_decode(gzuncompress(base64_decode($data[11])), TRUE);
- } // END - if
+ }
}