Exemplo n.º 1
0
<?php

if (!$argv) {
    die('browser');
}
/*
 * Важно! отключать в кроне при обнулении данных в БД
*/
define('DC', TRUE);
set_time_limit(0);
define('ABSPATH', dirname(dirname(__FILE__)) . '/');
require_once ABSPATH . 'db_config.php';
require_once ABSPATH . 'includes/autoload.php';
require_once ABSPATH . 'includes/errors.php';
$db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT);
if (get_my_block_id($db) > get_block_id($db)) {
    die('get_my_block_id > get_block_id');
}
$currency_list = get_currency_list($db);
// нужно знать текущий блок, который есть у большинства нодов
$block_id = get_confirmed_block_id($db);
// сколько должно быть подтверждений, т.е. кол-во блоков сверху
$confirmations = 5;
// берем всех юзеров по порядку
$community = get_community_users($db);
for ($k = 0; $k < sizeof($community); $k++) {
    $private_key = '';
    $MY_PREFIX = $community[$k] . '_';
    //print $MY_PREFIX."\n";
    $table_exists = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSHOW TABLES LIKE '" . DB_PREFIX . "{$MY_PREFIX}my_keys'\n\t\t\t", 'num_rows');
    if (!$table_exists) {
Exemplo n.º 2
0
 * Вызывается из cron/connector.php с другой ноды
 * */
define('DC', TRUE);
define('ABSPATH', dirname(__FILE__) . '/');
set_time_limit(0);
require_once ABSPATH . 'db_config.php';
require_once ABSPATH . 'includes/autoload.php';
require_once ABSPATH . 'includes/errors.php';
$db = new MySQLidb(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME, DB_PORT);
if (isset($_GET['user_id'])) {
    $user_id = intval($_GET['user_id']);
} else {
    $user_id = 0;
}
// если работаем в режиме пула, то нужно проверить, верный ли у юзера нодовский ключ.
if (get_community_users($db)) {
    $table_exists = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSHOW TABLES LIKE '" . DB_PREFIX . "{$user_id}_my_node_keys'\n\t\t\t", 'num_rows');
    if (!$table_exists) {
        die('error');
    }
    $my_block_id = get_my_block_id($db);
    $my_node_key = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `public_key`\n\t\t\tFROM `" . DB_PREFIX . "{$user_id}_my_node_keys`\n\t\t\tWHERE `block_id` = (SELECT max(`block_id`) FROM `" . DB_PREFIX . "{$user_id}_my_node_keys` ) AND\n\t\t\t\t\t\t `block_id` < {$my_block_id}\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_one');
    if (!$my_node_key) {
        die('error');
    }
    $node_key = $db->query(__FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__, "\n\t\t\tSELECT `node_public_key`\n\t\t\tFROM `" . DB_PREFIX . "miners_data`\n\t\t\tWHERE `user_id` = {$user_id}\n\t\t\tLIMIT 1\n\t\t\t", 'fetch_one');
    if ($my_node_key != $node_key) {
        die('$my_node_key != $node_key');
    }
}
print 'ok';