Искал библиотеки для реализации узла биткойнов, такие как bitcoin-ruby и toshi. Я предполагаю, что мой вопрос довольно простой, но я здесь новичок: необходимо ли загружать всю цепочку блоков (и даже устанавливать узел), чтобы взаимодействовать с ней как отправка / получение транзакций, получение данных блока или создание адреса?
Обязательно ли запускать биткойн-узел для взаимодействия с биткойн-блокчейном?
Ответы (2)
То, что вы можете делать в автономном режиме, без полной синхронизации с блокчейном
- Создавайте новые биткойн-адреса
- Создавайте транзакции, которые будут отправлены, если у вас уже есть средства на некоторых из ваших адресов
Что вы можете делать с подключенным устройством без полной синхронизации с блокчейном -
- Отправить транзакцию (транслировать)
Ознакомьтесь с реализациями кошельков SPV, такими как хлебный кошелек, чтобы узнать больше.
Можно взаимодействовать с сетью биткойнов без загрузки всей цепочки блоков.
Вы должны проверить, как взаимодействовать с одноранговыми узлами, в разделе p2p руководства разработчика биткойнов .
Также существует множество библиотек, которые позволяют взаимодействовать с сетью биткойнов, например, с bitcore p2p вы можете взаимодействовать с пулом пиров с помощью:
var Pool = require('bitcore-p2p').Pool;
var Networks = require('bitcore-lib').Networks;
var pool = new Pool({network: Networks.livenet});
// connect to the network
pool.connect();
// attach peer events
pool.on('peerinv', function(peer, message) {
// a new peer message has arrived
});
// Send a message, as soon as the response arrives, the pool will emit the related event.
// If your request is a getheaders message https://en.bitcoin.it/wiki/Protocol_documentation#getheaders
// you should listen for 'peerheaders'
pool.sendMessage(message)
// will disconnect all peers
pool.disconnect()
Для проверки баланса адреса, если вы не загружаете всю цепочку блоков, вам следует загрузить цепочка заголовков. Если вы хотите проверить, входит ли адрес в блок, вы можете запросить merkleblock.
Здесь и здесь вы можете найти больше о spv-клиентах.