define('CHECK_POINT' , 'chash.pos');
$GLOBALS['block_size'] = 100;
-$GLOBALS['none_increment'] = (1 / pow(10, 12));
+$GLOBALS['none_increment'] = (1 / pow(10, 20));
$GLOBALS['hash_algo'] = MHASH_RIPEMD320;
-$GLOBALS['flush_file_time'] = 10;
+$GLOBALS['flush_file_time'] = 30;
$GLOBALS['restart_search_time'] = 1800;
// Hashes per call
$GLOBALS['hash_cycles'] = 3;
+// Total restarts
+$GLOBALS['total_restarts'] = 0;
+
// Found hashes
$GLOBALS['found_hashes'] = array(0 => array());
$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['total_restarts'] . ':' .
+ $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);
*/
function addFoundHash ($hash) {
// Increment counter
- $GLOBALS['current_hashes']++;
+ $GLOBALS['total_found']++;
// Add hash to array
array_push($GLOBALS['found_hashes'][$GLOBALS['total_blocks']], array(
));
// 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);
* @return void
*/
function setModulaHash ($hash) {
- $GLOBALS['modula_hash'] = $hash;
- $GLOBALS['sum_modula'] = calculateSumFromHash($GLOBALS['modula_hash']);
+ $GLOBALS['modula_hash'] = $hash;
+ $GLOBALS['sum_modula'] = calculateSumFromHash($GLOBALS['modula_hash']);
}
/*
// FlightGear - Fly free!
multipleHashString('FlightGear - Fly free!'),
// Quote from Linus Torwalds
- multipleHashString('Your code is shit.. your argument is shit.'),
+ multipleHashString('Your code is shit. Your argument is shit.'),
);
// Calculate "modula hash" from 1st/4th and 2nd/3rd
// 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?
$data = explode(':', $checkPoint);
// Assert on count
- assert(count($data) == 8);
+ assert(count($data) == 10);
// 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_blocks'] = $data[0];
+ $GLOBALS['total_reward'] = $data[1];
+ $GLOBALS['total_hashes'] = $data[2];
+ $GLOBALS['total_found'] = $data[3];
+ $GLOBALS['total_restarts'] = $data[4];
+ $GLOBALS['hash_cycles'] = intval($data[5]);
+ $GLOBALS['nonce'] = base64_decode($data[7]);
+ $GLOBALS['root_hash'] = $data[8];
+ $GLOBALS['found_hashes'] = unserialize(gzuncompress(base64_decode($data[9])));
// Set modula hash
- setModulaHash($data[5]);
+ setModulaHash($data[6]);
} else {
// Create nonce (small)
initNonce();
// Is the last found time to far away?
if ($testTime >= $GLOBALS['restart_search_time']) {
+ // Count up restart
+ $GLOBALS['total_restarts']++;
+
+ // Output message
+ print('total_restarts=' . $GLOBALS['total_restarts'] . ' - Restarting ...');
+
// Count all root (genesis) hashes
$rootHashes = array();
foreach ($GLOBALS['found_hashes'] as $block) {