Я возился с исходным кодом Биткойн.
Обычно, когда вы хотите отправить немного BTC, вы вводите:
./bitcoind sendtoaddress 1ADRESSS 0.001
Как бы вы сделали это в исходном коде на повторяющейся основе?
Итак, какой код необходим для отправки транзакции на указанный адрес каждый раз при создании блока? Почти как налог. и где этот код будет размещен?
Я изучаю внутреннюю часть протокола Биткойн и С++, поэтому любая помощь будет отличной.
Вы можете использовать -blocknotify=<cmd>
средство, как описано ниже: https://en.bitcoin.it/wiki/Running_Bitcoin .
Это хороший пример использования -walletnotify
: https://bitcoin.stackexchange.com/a/24483/11221 , -blocknotify
можно настроить точно так же.
Таблицу команд RPC можно найти в rpcserver.cpp
статическом массиве vRPCCommands
. Из этого вы можете видеть, что команда RPC sendtoaddress
реализована функцией C++, названной достаточно подходящим образом sendtoaddress
. Быстрый grep показывает, что эта функция определена в rpcwallet.cpp
, и ее работа выполняется путем вызова pwalletMain->SendMoney()
. Похоже pwallet->SendMoney()
, это правильная функция для вызова.
Т9б