Почему некоторые команды Bitcoind работают сравнительно медленно?

Например, запуск bitcoin-cli getbalance <address>по произвольному адресу только для просмотра занимает около 6-7 секунд для ответа. Есть ли способ улучшить время отклика?

Как сервисы API, такие как Blockchain.info , почти мгновенно возвращают информацию о балансе? Каждый вызов API к Blockchain.info занимает менее полсекунды для запроса баланса. Есть ли способ сделать это с биткойнами?

Вы используете биткойн на vps?
@RutgerVersteegden нет, я не использую VPS

Ответы (2)

Например, запуск bitcoin-cli getbalance <address>по произвольному адресу только для просмотра занимает около 6-7 секунд для ответа. Есть ли способ улучшить это?

Помимо того, что это не так getbalanceработает (вы не вызываете его по адресу), getbalanceздесь он медленный, потому что он должен пройти список транзакций для адресов в вашем кошельке и суммировать их выходы, чтобы получить баланс. Если ваш кошелек очень большой и в нем много транзакций или вы используете биткойн на маломощном оборудовании, это может занять много времени.

Как сервисы API, такие как Blockchain, почти мгновенно возвращают информацию о балансе? Каждый вызов API к Blockchain занимает менее полсекунды для запроса баланса. Есть ли способ сделать это?

Эти службы API имеют несколько больших серверов, на которых размещены их базы данных. Их базы данных огромны и индексируют все в блокчейне. Они хранят информацию, такую ​​как баланс каждого адреса (который технически не находится в блокчейне), поэтому, когда вы запрашиваете информацию, она очень быстро извлекается из базы данных. Bitcoin Core не делает этого, так как такие базы данных являются пустой тратой места, и на большинство пользователей не повлияет более медленная функциональность.

Что ты имеешь в виду? Я getbalanceнеправильно использую? Я пытаюсь следовать документации Bitcoin.org .
Нет, вы не используете его неправильно. Реализация Bitcoin Core getbalanceработает медленно, когда задействовано много транзакций.

Обозреватели блоков будут использовать «правильную» базу данных, позволяющую выполнять быстрые запросы. У них, скорее всего, тоже есть хорошее оборудование.

Вы можете самостоятельно настроить обозреватель блоков с открытым исходным кодом. Пример: https://insight.is/

Существует опция конфигурации txindex для биткойнов, которая может ускорить некоторые команды . Каковы плюсы и минусы опции txindex?

Я не знал об этом раньше. Спасибо за информацию.