@NQUAREx

Как проверить BTC транзакцию в Python?

Есть оплата у меня по кошельку в боте, как с помощью питона проверить на сомом деле была ли произведена транзакция? Хеш как то проверить? Как?
  • Вопрос задан
  • 667 просмотров
Решения вопроса 1
@NQUAREx Автор вопроса
import pandas

your_btc_address = '12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX' # Genesis Block
transactions_url = 'https://blockchain.info/rawaddr/' + your_btc_address

df = pandas.read_json(transactions_url)
transactions = df['txs']
print(transactions)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Установить кошелек с поддержкой api, например bitcoin-core (хранить блокчейн весь не обязательно, опция -prune позволяет указать сколько хранить на диске, минимум 512мб в реальности будет плюс примерно 5гб utxo) и делать к нему rpc запросы

импортировать приватные ключи в него не обязательно, достаточно импортировать только сами адреса (тогда они будут только мониториться)
в момент импорта адреса блокчейн будет пересканирован, это долго, можно указать чтобы не сканировал но тогда нужно чтобы на момент импорта адреса на нем не было транзакций (иначе они не будут учтены на балансе)

если не прогружать блокчейн, можно будет анализировать только транзакции на адреса, которые в кошельке

если хочешь анализировать любые адреса, то нужно хранить весь блокчейн и в настройки добавить txindex=1 (по уму без этого в режиме prune тоже будет работать анализ но ты не сможешь понять, указанный хеш не существует в бклочейне в принципе или потому что он слишком старый и информация о нем удалена из твоей локальной копии)

твои команды: importaddress gettransaction и т.п.

p.s. можно использовать публичные сервера electrum (считай эксплорер чужой) разные сервера дают разные лимиты на глубину хранения транзакций и количество запросов
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы