Как лучше всего получить баланс большого количества адресов? Я пытался использовать API от разных провайдеров, но они ограничивают количество запросов. Существуют ли какие-либо API, предоставляющие услуги премиум-класса без ограничения запросов?
Или, может быть, я должен запустить полный узел и использовать его? Если да, то как я использую полный узел для получения баланса адресов? Я использую Ruby on Rails.
Спасибо.
Я думаю, вы должны учитывать, что использование API может привести к подделке, неправильно проверенным данным. Использование API означает, что вы полностью доверяете службе API, что противоречит модели недоверия к биткойнам.
Я рекомендую вам запустить полную ноду (Bitcoin Core 0.13.2 на момент написания статьи).
Адреса-индекса нет (есть патч, который можно вручную скомпилировать в Core).
Самый простой способ со стандартным Bitcoin-Core 0.13.2 — это импортировать все ваши адреса только для просмотра в кошелек.
Используйте вызов RPC importaddress <address> "" false
для импорта адреса только для просмотра.
Третий аргумент false
необходим, чтобы не сканировать блокчейн при каждом импорте (может занять несколько часов).
Как только вы импортируете все адреса, остановите bitcoind/qt и перезапустите его с параметром запуска -rescan
.
Повторное сканирование может занять несколько минут/часов (в зависимости от вашего диска/ОЗУ/процессора). После этого вы можете позвонить getreceivedbyaddress <addr>
по каждому адресу, чтобы получить баланс.
Это приводит к достоверным, самопроверенным данным.
Примечание. Если вы используете Bitcoin Core 0.14, рассмотрите возможность импорта нескольких адресов сimportmulti
Вы пробовали API блокономики . Их бесплатные планы позволяют использовать 50 адресов одновременно, а платные — до 8000.
Если вы хотите запустить свой собственный узел. Я бы порекомендовал запустить abe blockexplorer вместе с вашим node. Основной кошелек и другие кошельки SPV, такие как Electrum, известны тем, что становятся вялыми с большим количеством адресов.
m1xolyd1an