Я хотел бы реализовать очень простую функцию мониторинга адресов на сайте, над которым я работаю. Я хотел бы просто иметь возможность сказать «Прослушайте этот адрес в тестовой сети, чтобы получить деньги», и обновлять HTML на странице, когда поступает BTC. Я понимаю, что Blockchain.info предоставляет веб-сокет именно для этого, но не предоставляет его для использования в testnet3.
Я уверен, что упускаю из виду что-то очевидное. Любая помощь приветствуется.
Обычно вы делаете это в сервисе кошелька, которым пользуетесь. Они обеспечивают обратные вызовы уведомлений между серверами, когда адрес получает транзакции. Затем вы анализируете эту транзакцию и позволяете своему серверу уведомлять клиентов JavaScript.
РЕДАКТИРОВАТЬ : SoChain предлагает без аутентификации, WebSockets, API для мониторинга биткойн-адресов в режиме реального времени. Вы можете использовать это напрямую на клиентском JavaScript:
https://chain.so/api#realtime-баланс-обновления
Я не знаю, существуют ли какие-либо чистые API-интерфейсы JavaScript на стороне клиента с функцией уведомлений - вам всегда нужно настраивать веб-перехватчики на какой-либо сервер или напрямую подключаться к биткойну.
Также есть вопрос уровня подтверждения — когда вы считаете транзакцию полученной, сколько подтверждений вы требуете для нее. Обычно вы получаете несколько уведомлений на каждое новое подтверждение.
Я сделал это в своем проекте с открытым исходным кодом Liberty Music Store , используя blockchain.info.
Для вдохновения посмотрите соответствующий код веб-перехватчика blockchain.info, который затем перенаправляет эту информацию в JavaScript через шаблон слушателя Redis pub-sub (хотя в этом случае он использует длинный опрос HTTP вместо WebSockets для совместимости с Android 2.3):
https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/blockchain.py#L110
https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/static/main.js#L102
https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/signals.py#L28
https://github.com/miohtama/LibertyMusicStore/blob/master/tatianastore/storefront.py#L253
Микко Отамаа