Transacción de Bitcoin dentro del código fuente

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.

Entonces, ¿quieres un guión que gaste tu dinero sin pedirte permiso? Es factible, pero muy peligroso. Sería mejor que mirara las transacciones de múltiples firmas o de depósito en garantía.

Respuestas (2)

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 , -blocknotifyse puede configurar exactamente de la misma manera.

La tabla de comandos RPC se puede encontrar en rpcserver.cppla matriz estática vRPCCommands. A partir de eso, puede ver que el comando RPC sendtoaddressse 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.