Биткойн статистика

Мне нужно получить некоторые значения, чтобы узнать, насколько обновлен мой биткойн-клиент.

Например, я хотел бы, чтобы графический интерфейс сказал мне:

  1. Если она актуальна. Если нет, показать блоки/всего блоков
  2. Сколько блоков было загружено
  3. Время, когда был сгенерирован последний полученный блок.

Имеются ли в JSON API команды для получения этой информации? Или как еще я могу добиться этого?

С Уважением

У меня сложилось впечатление, что версия 5+ клиента (bitcoin-qt) предлагает все эти возможности. Я ошибаюсь?
Клиент не может сказать, обновлен ли он с точки зрения блоков. Единственный способ, которым клиент может узнать о существовании блока, — это подтвердить его. Единственный способ проверить блок — это иметь его уже. У клиента нет другого механизма, чтобы убедиться, что он уже не актуален. (Исключение было бы, если бы перед ним был контрольно-пропускной пункт.)
Как Bitcoin-QR узнает, что он «не синхронизирован»? И это также говорит что-то вроде ~ 24 блоков осталось.

Ответы (1)

Вам, вероятно, нужно прочитать: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

Вам, вероятно, понравятся методы getblockcount и getblocknumber.

Я не думаю, что API может дать вам последний номер блока, пока он не будет обновлен, но вы можете найти его на http://bitcoinwatch.com/ -> blocks -> count.

более подробная информация (от #bitcoin-dev в IRC, спасибо sturles): клиент не может знать наверняка, пока все блоки не будут проверены, но он может сообщить, что другие клиенты утверждают, что у них есть. Вредоносный клиент может сообщать вашему клиенту произвольные числа, поэтому биткойн-клиент не может быть уверен, пока не будет проверен последний блок. Он также может делать предположения на основе текущего времени и возраста последнего проверенного блока.
поэтому лучше всего будет получить последний номер блока от надежного поставщика (bitcoinwatch.com — это просто пример).
Спасибо за ваш ответ. Я прочитал этот список команд API, но он довольно расплывчатый. Вся идея этого заключалась в том, чтобы избежать использования какой-либо третьей стороны :( Как я могу сделать оценку? Как я могу получить последний подтвержденный блок? Ура.
у вас нет возможности убедиться в этом, пока ваш локальный клиент не проверит все блоки; другие клиенты могут лгать вам, но взглянув на клиентский код и debug.log, вы можете обнаружить, что другие узлы отправляют вам сообщения типа «сообщение о версии: версия 32300, блоки = 170346», они сообщают вам свою версию и количество блоков. , вы можете игнорировать клиенты старой версии и решить, что все клиенты последней версии должны иметь последний блок.
наличие этой опции (загруженные блоки XXX/YYYY) может быть действительно полезно для пользователей биткойнов, если вы можете реализовать ее как вызов API, разветвите github.com/bitcoin/bitcoin и отправьте запрос на включение, чтобы поделиться своей хорошей идеей с другими!