Запросить блокчейн для транзакций

Я установил bitcoin-qt, поэтому поддерживаю блокчейн локально. У меня есть список со строками хэшей транзакций (например, f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6), и я хочу запросить информацию об этих транзакциях (открытые ключи ввода/вывода, значение и т. д.).

  1. Я знаю, что могу это сделать с помощью blockchain.info api, но проблема в том, что транзакций огромное количество, а среднее время одной транзакции составляет 0,3 секунды. (Поэтому для миллионов транзакций должны быть дни)
  2. Я также пробовал bitcointools , но этот проект устаревает с последними версиями Bitcoin-Qt/bitcoind.

Любые предложения, чтобы сделать всю процедуру более эффективной?

Ответы (2)

Я бы порекомендовал Bitcoin-abe. Это проект с открытым исходным кодом, который будет анализировать всю цепочку блоков и, по сути, создавать базу данных со всей информацией о транзакциях, которую вы ищете. Стоит отметить, что процесс настройки занимает несколько дней с текущим размером блокчейна, но это позволит вам локально запросить любую транзакцию для получения информации, которую вы ищете.

Не уверен, что именно вам нужно сделать после того, как вы нашли свою информацию, так как это может сильно повлиять на то, какой инструмент вы используете. Однако вы можете использовать биткойн-апи, который упакован с биткойн-qt, чтобы получить всю информацию о транзакции с помощью этой команды.

gettransaction <txid>

Он вернет вам всю информацию об этой транзакции, я бы использовал какой-либо другой инструмент, построенный поверх него, например, php api или любой другой ваш любимый язык. Вот тот, который я сделал для взаимодействия с ним через PHP https://github.com/michaeljs1990/Bitcoin-PHP-API .

Подробнее об API bitcoind можно узнать по адресу https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list .

gettransaction — это RPC кошелька, который сообщает о последствиях транзакции в вашем кошельке. Вы можете использовать getrawtransaction, который работает с произвольными транзакциями в блокчейне, но для этого вам нужно указать txindex=1 в вашем bitcoin.conf и один раз переиндексировать, чтобы перестроить базу данных с включенным индексом транзакций.