Как использовать WalletNotify?

У меня есть биткойн-демон, и я хочу использовать опцию walletnotify с вызовом json-rpc. В некоторых примерах используется файл «transaction.sh» для walletnotify. Для чего это?

Что мне нужно написать в этом файле sh, чтобы walletnotify работал более чем с 6 подтверждениями.

Просто поместите команду ruby ​​CLI в файл .sh, чтобы запустить ваш сценарий ruby. Файл .sh в основном представляет собой командную строку.
Нашел эту тему полезной: bitcointalk.org/index.php?topic=203438.0

Ответы (2)

Сначала вы должны настроить свой bitcoin.confфайл для JSON-RPC.

rpcallowip=127.0.0.1
rpcuser=yourusername
rpcpassword=reallystrongpasswordthatsnothis
rpcport=7788
walletnotify=/home/scripts/transaction.sh %s

Где transaction.shкакая -то программа bash . Один из подходов состоит в том, чтобы сделать httpзапрос к некоторому процессу, чтобы уведомить вас о депозите. Пример:

#!/bin/sh
curl -d "txid=$1" http://127.0.0.1/some/route

walletnotifyбудет выполняться transaction.shкаждый раз, когда вы либо

  • получить биткойн
  • отправить биткойн
  • когда биткойн получает первое подтверждение

%sявляется идентификатором транзакции или txidкоторый передается transaction.sh.

Что делать, если я получаю более 1 транзакции в блоке? Создает ли он новый процесс/поток, используя программу bash для каждой транзакции?
@pferg порождается для каждой транзакции и для каждого блока. единственный вопрос: что делать, если вы получаете несколько входов из нескольких выходов в рамках 1 транзакции. это вообще вещь? (я отправляю вам 10x 5 BTC за 1 транзакцию. Я думаю, вы получите 1 OP с 50 BTC)

в дополнение к ответу Loourr, %wтакже может быть передан вашему сценарию, информируя вас о кошельке в узле, который получил средства, поскольку у вас может быть> 1 кошелек