require 'lib/scrypt.php';
define('START_TIME' , microtime(true));
-define('CHECK_POINT' , 'chash.pos');
+define('CHECKPOINT_FILE' , 'chash.pos');
// Hashes needed to complete a "block"
$GLOBALS['block_size'] = 100;
$GLOBALS['difficulty'] = 2;
// Found hashes
-$GLOBALS['found_hashes'] = array(0 => array());
+$GLOBALS['found_hashes'] = array([]);
/**
* Continued-hashing
*/
// Is the check point there?
-if (is_readable(CHECK_POINT)) {
+if (is_readable(CHECKPOINT_FILE)) {
// Load it
loadCheckpointFile();
} else {
print('total_restarts=' . $GLOBALS['total_restarts'] . ' - Restarting ...');
// Count all root (genesis) hashes
- $rootHashes = array();
+ $rootHashes = [];
foreach ($GLOBALS['found_hashes'] as $block) {
// "Walk" through all blocks
foreach ($block as $hash) {
$timeBlock = abs(microtime(true) - $timeBlock);
// Calculate reward
- $reward = abs($timeBlock - $timeBadHashes) / $hashRate * $GLOBALS['hashes_block'] / $GLOBALS['block_size'] * 1000;
+ $reward = abs($timeBlock - $timeBadHashes) / $hashRate * $GLOBALS['hashes_block'] / max(1, $GLOBALS['block_size']) * 1000;
print('timeBlock=' . $timeBlock . ',timeBadHashes=' . $timeBadHashes . ',hashesPerBlock=' . $GLOBALS['hashes_block'] .',reward=' . $reward . PHP_EOL);
// Double difficulty
$GLOBALS['hashes_block'] = 0;
// Init next block
- $GLOBALS['found_hashes'][$GLOBALS['total_blocks']] = array();
+ $GLOBALS['found_hashes'][$GLOBALS['total_blocks']] = [];
// Calculate new nonce
calculateNonce();
// Flush data
file_put_contents(
- CHECK_POINT,
+ CHECKPOINT_FILE,
$GLOBALS['total_blocks'] . '|' .
$GLOBALS['total_reward'] . '|' .
$GLOBALS['total_hashes'] . '|' .
$GLOBALS['total_found']++;
// Add hash to array
- array_push($GLOBALS['found_hashes'][$GLOBALS['total_blocks']], array(
+ array_push($GLOBALS['found_hashes'][$GLOBALS['total_blocks']], [
'current_hash' => $GLOBALS['current_hash'],
'root_hash' => $GLOBALS['root_hash'],
'nonce' => (float) $GLOBALS['nonce'],
'hash_cycles' => $GLOBALS['hash_cycles'],
'difficulty' => $GLOBALS['difficulty'],
'nonce_hash' => $hash,
- ));
+ ]);
// Found hash:
print ('FOUND: hash=' . $hash . ',nonce=' . $GLOBALS['nonce'] . ',total_found=' . $GLOBALS['total_found'] . PHP_EOL);
*/
function loadCheckpointFile () {
// Is the check point there?
- if (is_readable(CHECK_POINT)) {
+ if (is_readable(CHECKPOINT_FILE)) {
// Then load it
- $checkPoint = file_get_contents(CHECK_POINT);
+ $checkPoint = file_get_contents(CHECKPOINT_FILE);
// Explode it
$data = explode('|', $checkPoint);
$GLOBALS['nonce'] = (float) base64_decode($data[8]);
$GLOBALS['current_hash'] = $data[9];
$GLOBALS['root_hash'] = $data[9];
- $GLOBALS['found_hashes'] = json_decode(gzuncompress(base64_decode($data[11])));
+ $GLOBALS['found_hashes'] = json_decode(gzuncompress(base64_decode($data[11])), TRUE);
} // END - if
}