HI там, я заинтересован в создании веб-страницы, которая наблюдает множество сделок и их количество подтверждений, как они поднимаются. Как начинающий разработчик, что самый лучший и / или простой способ сделать это? Я проверил
http://blockchain.info/api/blockchain_api и подтвержденные операции не отображается часть их апи для одной транзакции. Как я мог получить необходимую в реальном времени данных?
веселит.
[
block_height приобретенные с помощью
http://blockchain.info/latestblock] Минус [
block_height Ур транзакции] плюс 1
Как я сделать это .. используя
http://blockchain.info/api/api_websocket апи, подписаться на новые блоки. Каждый раз, когда блок будет найден, я храню высоту блока из полезной нагрузки JSON, который отправляется обратно (в качестве ключа в Redis). Я храню сделку 0-подтверждение
индексы (Который я снова получать от blockchain:
http://blockchain.info/rawtx/$ Tx_hash) в коллекции (
pending_transactions) В MongoDB. JSON полезной нагрузки для нового блока содержит список индексов транзакций (
block.x.txIndexes), Которые я совпадают с теми, хранящимся в моей коллекции MongoDB (и увеличиваем их количество подтверждения на 1). Я также увеличиваем отсчеты подтверждения всех этих операций (за исключением txIndexes посланных в полезной нагрузке), что уже есть 1 подтверждение (примечание: я не увеличиваем 0 подтверждений). Когда он попадает 6 подтверждения, я двигаюсь сделку с
pending_transactions сбор
confirmed_transactions коллекция.
Причина я весь этот бред, что иногда 0 подтверждение сделка никогда не получить включена в новых блоках (например: при отправке с 0 платой). Так делать
latest_block_height - block_height_of_transaction + 1 не может работать в таких крайних случаях.
Также бывают случаи, когда ваш сервер может привести к сбою из-за неизвестные ошибки. При перезагрузке сервера, я извлечь все блоки из где я остановился (использовать последнюю сохраненную высоту блока в Redis, а затем извлечь высоты блока из blockchain Пример.:
http://blockchain.info/block-height/246536?format=json) И догоняющий до последнего блока (и снова повторить весь процесс).
Это временное, хотя. Мой будущий план, чтобы написать свой собственный клиент с этими функциями (ЭСП уведомлений о подтверждении, она засасывает, что нет API, чтобы подписаться на уведомления) или раскошелиться клиент Bitcoin и сделать эти необходимые изменения.