Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
9 октября 2010, 10:44:40 AM   # 1
 
 
Сообщений: 64
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я использую PHP jsonRPCClient для подключения к Bitcoin 0.3.11beta клиенту, который я работаю на Windows, с Bitcoin -server. Я использую вызовы, такие как getreceivedbyaddress, а иногда sendtoaddress. Я замечаю следующее сообщение об ошибке возникает периодически:

PHP Предупреждение: Еореп (HTTP: //...@127.0.0.1: ... /): не удалось открыть поток: HTTP запрос не удалось!

Чтобы преодолеть это в коде PHP, я просто расставил все JSon звонки внутри операторов TRY, а затем в то время как петли, которые продолжали пытаться, пока не был исключением. Поведение оказалось 50/50 успех / провал, так половину времени он только взял 1 петлю, 1/4 времени, которое потребовалось 2 петли, и так далее. В любом случае, в то время как петли позволили мне вытащить результат из вызова, что мне нужно.

Проблема была значительно уменьшена после обновления до последней версии, но все еще было возможно, один раз из 10 или 15 раз.

Совсем недавно, проблема возникла в первый раз на sendtoaddress вызова: Еореп бросил исключение, так что мой код еще раз попробовал, и получил успех. В результате было дважды израсходует. Сервер Bitcoin явно обработан первый, который дал мне исключение. Я сделал некоторые исследования, и это выглядит как вызов Еореп РНР возвращает исключение, если это не нравится HTTP, который возвращается к нему.

Короче говоря, есть несовместимость с FOPEN и клиента Bitcoin (сервер JSON) в PHP, и я подозреваю, что это Bitcoin вопрос, потому что я не нашел каких-либо сообщений о подобных прерывистых проблем из FOPEN функции PHP.

Важная часть этой ошибки он полностью прерывистый, по крайней мере, с getreceivedbyaddress и sendtoaddress функций. С учетом всех других факторов, неизменности, просто повторно отправить запрос JSON делает PHP счастливым, даже если сервер обработал первый запрос и PHP не нравится ответ.
Джо сейчас офлайн Пожаловаться на джо   Ответить с цитированием Мультицитирование сообщения от джо Быстрый ответ на сообщение джо


Как заработать Биткоины?
Без вложений. Не майнинг.


9 октября 2010, 7:31:40 PM   # 2
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

Получил 1806 Биткоинов
Реальная история.





Только думаю, что я могу думать о том, что вызов PHP Еореп () является тайм-аут. Вы пытаетесь произвести монеты? Становится ли лучше, если вы не создавать?

Вы используете PHP5? Если вы, попробуйте создать stream_context с длинного тайм-аута (см http://www.php.net/manual/en/context.http.php ).
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

9 октября 2010, 11:22:50 PM   # 3
 
 
Сообщений: 64
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

Только думаю, что я могу думать о том, что вызов PHP Еореп () является тайм-аут. Вы пытаетесь произвести монеты? Становится ли лучше, если вы не создавать?

Вы используете PHP5? Если вы, попробуйте создать stream_context с длинного тайм-аута (см http://www.php.net/manual/en/context.http.php ).


Нет, это не тайм-аут. Вызов Еорепа быстро бросает исключение. В моем PHP журнал ошибок, если исключение происходит несколько раз подряд время для всех исключений в секунду или две. А сайт не зависает, когда эти неудачи случаются.

По умолчанию время ожидания, как сконфигурировано в моем default_socket_timeout, составляет 60 секунд, что, конечно, не достигли.

Нет, я не генерируя монеты. Я всегда был поколение монеты выключил на протяжении всей истории этой проблемы.

Да, я использую PHP5. Тайм-аут не установлен, так что должны использовать по умолчанию 60 секунд. Дайте мне знать, если я должен попытаться войти что-то для тайм-аута любым способом.
Джо сейчас офлайн Пожаловаться на джо   Ответить с цитированием Мультицитирование сообщения от джо Быстрый ответ на сообщение джо

17 апреля 2011, 5:21:11 PM   # 4
 
 
Сообщения: 322
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

У меня была такая же проблема, и я решил перейти от Еореп () свернуться. Если ваш сервер поддерживает его, не стесняйтесь использовать эту библиотеку вместо (единственное отличие состоит в том, что она использует завиток. Используя это так же, как и всегда, и вы не должны иметь прерывистый плохие запросы.) Надеюсь, что это поможет кому-то.

Код:
/ *
АВТОРСКИЕ ПРАВА

Copyright 2007 Sergio Vaccaro 
Модифицированный 2011 Джон Магуайр для Curl поддержки 

Этот файл является частью JSON-RPC PHP.

JSON-RPC PHP является свободным программным обеспечением; вы можете распространять и / или изменять
это в соответствии с условиями GNU General Public License, опубликованной
Фонд свободного программного обеспечения; либо версии 2 Лицензии, или
(По вашему выбору) любой более поздней версии.

JSON-RPC PHP распространяется в надежде, что это будет полезно,
но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий
Или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См
GNU General Public License для более подробной информации.

Вы должны были получить копию GNU General Public License
наряду с JSON-RPC PHP; если нет, то пишите на свободное программное обеспечение
Foundation, Inc., 51 Franklin St, Пятый этаж, Boston, MA 02110-1301 USA
* /

/ **
 * Объект этого класса являются общими клиентами jsonRPC 1.0
 * http://json-rpc.org/wiki/specification
 *
 * @author Серджио 
 * /
класс jsonRPCClient {

/ **
 * Debug состояние
 *
 * @var булево
 * /
частный $ отлаживать;

/ **
 * URL-адрес сервера
 *
 * @var строка
 * /
частный $ URL;
/ **
 * Запрос идентификатор
 *
 * @var целое
 * /
частный $ ID;
/ **
 * Если это правда, уведомления выполняются вместо запросов
 *
 * @var булево
 * /
частный $ уведомление знак равно ложный;

/ **
 * Принимает параметры соединения
 *
 * @param строка $ URL
 * @param булева $ отлаживать
 * /
публичная функция __construct($ URL,$ отлаживать знак равно ложный) {
// URL сервера
$ this-->URL знак равно $ URL;
// прокси
пусто ($ прокси)? $ this-->полномочие знак равно «» $ this-->полномочие знак равно $ прокси;
// состояние отладки
пусто ($ отлаживать)? $ this-->отлаживать знак равно ложный $ this-->отлаживать знак равно правда;
// Идентификатор сообщения
$ this-->Я бы знак равно 1;
}

/ **
 * Устанавливает состояние уведомления объекта. В этом состоянии, уведомления выполняются, вместо запросов.
 *
 * @param булева $ уведомление
 * /
публичная функция setRPCNotification($ уведомление) {
пусто ($ уведомление)?
$ this-->уведомление знак равно ложный
:
$ this-->уведомление знак равно правда;
}

/ **
 * Выполняет запрос jsonRCP и получает результаты в виде массива
 *
 * @param строка $ метод
 * @param массив $ PARAMS
 * @return массив
 * /
публичная функция __вызов($ метод,$ Params) {

// проверить
если (!is_scalar($ метод)) {
бросить новый исключение(«Имя метода не имеет значения скалярного»);
}

// проверить
если (is_array($ Params)) {
нет // нет ключей
$ Params знак равно array_values($ Params);
} Еще {
бросить новый исключение(«Params должны быть предоставлены в виде массива»);
}

// устанавливает уведомление или запрос задачи
если ($ this-->уведомление) {
$ currentId знак равно НОЛЬ;
} Еще {
$ currentId знак равно $ this-->Я бы;
}

// готовит запрос
$ запрос = Массив (
«Метод» знак равно> $ метод,
«Титулы» знак равно> $ Params,
'Я бы' знак равно> $ currentId
);
$ запрос знак равно json_encode($ запрос);
$ this-->отлаживать && $ this-->отлаживать.знак равно'***** Запрос *****'.«\ П».$ запрос.«\ П»."***** Конец запроса *****.«\ П \ п»;

// выполняет POST HTTP
        
$ ч знак равно curl_init();
        
curl_setopt_array($ ч, массив (
            
CURLOPT_URL знак равно> $ this-->URL,
            
CURLOPT_POST знак равно> правда,
            
CURLOPT_POSTFIELDS знак равно> $ запрос,
            
CURLOPT_HTTPHEADER знак равно> массив ('Content-тип: / JSON'),
            
CURLOPT_RETURNTRANSFER знак равно> правда,
        ));
        
        
$ ответ знак равно curl_exec($ ч);
        если(
$ ответ === ложный)
        {
бросить новый исключение(«Не удалось подключиться к».$ this-->URL);
}
        
        
$ this-->отлаживать && $ this-->отлаживать.знак равно'***** ответ сервера *****.«\ П».$ ответ."***** Конец ответа сервера *****.«\ П»;
        
$ ответ знак равно json_decode($ ответ,правда);

// отладочный вывод
если ($ this-->отлаживать) {
эхо nl2br($ отлаживать);
}

// окончательные проверки и возврат
если (!$ this-->уведомление) {
// проверить
если ($ ответ['Я бы'знак равно $ currentId) {
бросить новый исключение('Неверный ответ идентификатор (ID запроса:'.$ currentId.«Идентификатор ответа:».$ ответ['Я бы'].')');
}
если (!нулевой($ ответ['ошибка'])) {
бросить новый исключение(«Ошибка запроса:».$ ответ['ошибка'] ['сообщение']);
}

вернуть $ ответ[«Результат»];

} Еще {
вернуть правда;
}
}
}
?>
lulzplzkthx сейчас офлайн Пожаловаться на lulzplzkthx   Ответить с цитированием Мультицитирование сообщения от lulzplzkthx Быстрый ответ на сообщение lulzplzkthx

18 апреля 2011, 2:30:43 AM   # 5
 
 
Сообщения: 2282
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

Какой часовой пояс и локаль ваш bitcoind работает в?
Люк-младший сейчас офлайн Пожаловаться на Luke-Jr   Ответить с цитированием Мультицитирование сообщения от Luke-Jr Быстрый ответ на сообщение Luke-Jr

25 июня 2011, 2:20:21 AM   # 6
 
 
Сообщения: 540
Цитировать по имени
цитировать ответ
по умолчанию Re: JSON RPC для Bitcoin периодически посылая плохие отзывы?

Какой часовой пояс и локаль ваш bitcoind работает в?

Я бег его GMT в локальном и у меня один и тот же проклятый вопрос!

http://forum.bitcoin.org/index.php?topic=548.0

Я сообщил здесь, а также.
Coinbuck @ BTCLot сейчас офлайн Пожаловаться на Coinbuck @ BTCLot   Ответить с цитированием Мультицитирование сообщения от Coinbuck @ BTCLot Быстрый ответ на сообщение Coinbuck @ BTCLot



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW