Как использовать API приема платежей Blockchain.info с узлом JS / Express?

Блокчейн имеет отличную документацию для PHP, но ничего для узла!

Есть ли у кого-нибудь здесь какие-либо проекты, в которых они использовали API приема платежей blockchain.info в своих приложениях для узлов, чтобы получать деньги/чек для подтверждения?

Я учусь намного лучше, просматривая/воссоздавая пример кода, так что любой, что у вас есть, мне очень поможет!

Ответы (2)

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

Я начал с установки bitcoindи настройки его в качестве клиента, через который Node.js может взаимодействовать с блокчейном. Я сделал это, настроив bitcoin.confсвою информацию о блокчейне и запустив bitcoindэкран. Взгляните на эту страницу для получения информации о подключении bitcoind к вашей учетной записи Blockchain: https://blockchain.info/api/json_rpc_api

Вам также понадобится промежуточное ПО для взаимодействия Nodejs с Blockchain через биткойн. Вот ссылка на Blockchain: https://github.com/jb55/node-bitcoin можно просто установить с помощью:

npm install bitcoin

Файл readme в этом Git содержит информацию и фрагменты кода, которые вы можете использовать для подключения Nodejs к Blockchain. Узел подключается к вашему локальному биткойн-серверу:

var bitcoin = require('bitcoin'); var client = new bitcoin.Client('localhost', 8332, 'username', 'password');

Node получает баланс всех ваших адресов как минимум с 6 подтверждениями:

client.getBalance('*', 6, function(err, balance) { if (err) return console.log(err); console.log('Balance:', balance); });

Вот список всех возможных запросов API Blockchain: en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list.

Вы можете использовать эти функции для создания и уничтожения адресов кошельков, проверки их баланса, а также отправки средств из вашего скрипта, если вы того пожелаете.

Кратко говоря о безопасности, рекомендуется двойное шифрование, которое можно включить на странице Blockchain My Wallet «Сведения об учетной записи». Это означает, что каждый адрес имеет собственный пароль доступа, помимо основного пароля кошелька. Простые операции, такие как получение баланса, не требуют отправки обоих паролей, но для отправки средств Node должен отправить как мастер-пароли, так и пароли кошелька. Если вы используете сервер со статическим IP-адресом, вы также можете использовать параметр «Блокировка IP-адреса» в Blockchain, чтобы ограничить доступ посторонних. Подсказка: двухфакторная авторизация должна быть отключена в вашем кошельке Blockchain, чтобы разрешить доступ из вашего скрипта.

Привет! Спасибо, это было действительно очень полезно! Один вопрос однако! Если бы я хотел развернуть свое приложение на героку, как бы это работало? Насколько я понимаю, это будет делать все только локально, верно? Нужно ли мне покупать сервер для запуска btcoind отдельно онлайн, а затем подключаться или?

Я также нашел этот пакет узлов, который очень хорошо работает для работы с одним кошельком Blockchain за раз.

https://www.npmjs.org/package/blockchain-кошелек

npm install blockchain-wallet

var BlockchainWallet = require('blockchain-wallet'),
blockchainWallet = new BlockchainWallet("YourGuid", "YourPassword"),
// Certain API methods require a second password if the wallet is second password protected, while others don't at all.
transactionBlockchainWallet = new BlockchainWallet("YourGuid", "YourPassword", "YourSecondPassword");

blockchainWallet.list(function(err, data) {
  if(err) {
   throw err;
  }
  console.log(data);
});