Estoy jugando con el código fuente de Bitcoin.
Normalmente, cuando desea enviar algo de BTC, escribe:
./bitcoind sendtoaddress 1ADRESSS 0.001
¿Cómo haría esto en el código fuente de forma recurrente?
Entonces, ¿qué código se necesita para enviar una transacción a una dirección específica cada vez que se crea un bloque? Casi como un impuesto. ¿Y dónde se colocaría este código?
Estoy aprendiendo el Protocolo interno de Bitcoin y C++, por lo que cualquier ayuda sería excelente.
Puede hacer uso de la -blocknotify=<cmd>
instalación como se describe en: https://en.bitcoin.it/wiki/Running_Bitcoin .
Este es un buen ejemplo de cómo usar -walletnotify
: https://bitcoin.stackexchange.com/a/24483/11221 , -blocknotify
se puede configurar exactamente de la misma manera.
La tabla de comandos RPC se puede encontrar en rpcserver.cpp
la matriz estática vRPCCommands
. A partir de eso, puede ver que el comando RPC sendtoaddress
se implementa mediante una función de C ++ llamada, de manera bastante apropiada, sendtoaddress
. Un grep rápido muestra que esta función está definida en rpcwallet.cpp
, y su trabajo se realiza llamando a pwalletMain->SendMoney()
. Así que pwallet->SendMoney()
parece la función correcta para llamar.
T9b