Esempio n. 1
0
                if ($my_public_key == $sql_row["public_key"]) {
                    $public_key = '<p style="font-size:12px;"><font color="green"><strong>My Public Key</strong></font>';
                } else {
                    $public_key = '<p style="word-wrap:break-word; width:425px; font-size:' . $default_public_key_font . 'px;">' . base64_encode($sql_row["public_key"]);
                }
                $body_string .= '<tr>
				<td class="style2">' . $public_key . '</p></td>
				<td class="style2"><p style="font-size:10px;">' . tk_time_convert(time() - $sql_row["timestamp"]) . ' ago</p></td></tr>';
            }
            $body_string .= '</table></div>';
        }
        // Next Election Calculator
        $max_cycles_ahead = 723;
        for ($i = 0; $i < $max_cycles_ahead; $i++) {
            $current_generation_cycle = transaction_cycle($i);
            if (election_cycle($i) == TRUE) {
                $time_election = '<font color="blue"><strong>' . tk_time_convert($current_generation_cycle - time());
                break;
            }
        }
        for ($i = 0; $i < $max_cycles_ahead; $i++) {
            $current_generation_cycle = transaction_cycle($i);
            if (generation_cycle($i) == TRUE) {
                $time_generate = '<font color="blue"><strong>' . tk_time_convert($current_generation_cycle - time());
                break;
            }
        }
        $text_bar = '<table cellspacing="10" border="0"><tr><td valign="top" width="230">' . $generate_currency . '</td><td>Generating Peers: <font color="green"><strong>' . $generating_peers_now . '</strong></font><br>
			Queue for Election: <font color="blue"><strong>' . $generate_peer_queue . '</strong></font></td></tr>
			<tr><td align="right">' . $continuous_production . '</td><td>' . $generate_rate . '</td></tr>
			<tr><td colspan="2">' . $my_gen_IP_form . '</td></tr></table>';
Esempio n. 2
0
 }
 // Does the public key half match what is encrypted in the 3rd crypt field from
 // the same peer?
 if ($arr1[0] == $gen_key_crypt && empty($peer_ip) == FALSE && empty($IP_exist1) == TRUE && $domain_fail == FALSE && is_private_ip($peer_ip) == FALSE) {
     if ($delete_request == "DELETE_IP") {
         // Delete my IP and any public key linked to it as it belongs to a previous unknown owner
         mysql_query("DELETE FROM `generating_peer_list` WHERE `generating_peer_list`.`IP_Address` = '{$peer_ip}' LIMIT 1");
         write_log("DELETE IP Request ({$peer_ip}) was allowed for Public Key: " . base64_encode($public_key), "GP");
     } else {
         // My server has moved to another IP, update the list
         mysql_query("UPDATE `generating_peer_list` SET `IP_Address` = '{$peer_ip}' WHERE `generating_peer_list`.`public_key` = '{$public_key}' LIMIT 1");
         write_log("New Generation Peer IP Address ({$peer_ip}) was updated for Public Key: " . base64_encode($public_key), "GP");
     }
 } else {
     if (my_public_key() == $public_key) {
         if (election_cycle(1) == TRUE) {
             if (empty($IP_exist1) == TRUE) {
                 mysql_query("UPDATE `generating_peer_list` SET `IP_Address` = '{$peer_ip}' WHERE `generating_peer_list`.`public_key` = '{$public_key}' LIMIT 1");
                 write_log("Generation Peer List was updated with My New IP Address ({$peer_ip})", "GP");
             }
         }
     } else {
         // Log Error Reasons for Reverse Verification Issues
         if ($arr1[0] != $gen_key_crypt) {
             write_log("Could Not Reverse Verify Half-Crypt String for Public Key: " . base64_encode($public_key), "GP");
         } else {
             if (empty($peer_ip) == TRUE) {
                 write_log("No IP Address To Reverse Verify Public Key: " . base64_encode($public_key), "GP");
             } else {
                 if (empty($IP_exist1) == FALSE) {
                     write_log("IP Address ({$peer_ip}) Already Exist in the Generation List for Public Key: " . base64_encode($public_key), "GP");
Esempio n. 3
0
             $encryptedData3 = tk_encrypt($my_private_key, $crypt3_data);
             $encryptedData64_3 = base64_encode($encryptedData3);
             // Encrypt Generation Request into Crypt1 field
             $encryptedData1 = tk_encrypt($my_private_key, $generation_request);
             $encryptedData64_1 = base64_encode($encryptedData1);
             $duplicate_hash_check = hash('sha256', $encryptedData64_1 . $generation_request . $encryptedData64_3);
             mysql_query("INSERT INTO `my_transaction_queue` (`timestamp`,`public_key`,`crypt_data1`,`crypt_data2`,`crypt_data3`, `hash`, `attribute`)\n\t\t\t\t\tVALUES ('" . time() . "', '{$my_public_key}', '{$encryptedData64_1}', '{$generation_request}' , '{$encryptedData64_3}', '{$duplicate_hash_check}' , 'R')");
         }
         // End duplicate request check
     }
     // End Election cycle available check
 }
 if (empty($found_public_key) == TRUE || $update_generation_IP == TRUE) {
     // Not in the allowed generation list, send a request to be elected
     // when the next transaction cycle does an election.
     if (election_cycle(1) == TRUE || election_cycle(2) == TRUE || election_cycle(3) == TRUE || election_cycle(4) == TRUE || election_cycle(5) == TRUE) {
         // Check to see if this request is already in my transaction queue
         $found_public_trans_queue = mysql_result(mysql_query("SELECT * FROM `my_transaction_queue` WHERE `attribute` = 'R' LIMIT 1"), 0, 0);
         if (empty($found_public_trans_queue) == TRUE) {
             $my_private_key = my_private_key();
             // Generate a network request to be added to the generation peer list
             $generation_request = ARBITRARY_KEY . rand(1, 999999);
             // Update Reverse Crypto Testing Data
             $generation_key_crypt = mysql_result(mysql_query("SELECT * FROM `options` WHERE `field_name` = 'generation_key_crypt' LIMIT 1"), 0, "field_data");
             if (empty($generation_key_crypt) == TRUE) {
                 // Reverse Crypto Test is empty, create a new one.
                 // This is just the first 181 characters of the public key encrypted via the private key.
                 // This is then stored as a data field that is easy to access and quickly output to any
                 // peer that is going to query this one as a potential generating peer.
                 $arr1 = str_split($my_public_key, 181);
                 $encryptedPublicKey = tk_encrypt($my_private_key, $arr1[0]);