Cuando voy a enviar monedas, quiero que la transacción ignore las monedas no gastadas en una cuenta determinada.
Creo que puedo hacer esto en wallet.cpp, pero no estoy seguro de cómo hacerlo.
¿Quizás en la función AvailableCoins()? ¿Hacer que continúe si las monedas están en esta cuenta? Supongo que necesito crear una función como:
bool isInAccount(string strAccountName, CWalletTx *wtx)
¿Cómo puedo hacer esto?
Su pregunta se basa en un malentendido del sistema de cuentas. Sin embargo, es un malentendido muy común.
Los productos no gastados no están asociados con cuentas.
Las transacciones entrantes acreditan el saldo de la cuenta asociada a la dirección con la que se recibe la transacción. Pero las cuentas solo tienen un saldo: no son "dueñas" de las monedas que se les envían. Los saldos de las cuentas pueden volverse negativos y se pueden modificar a través del move
comando, sin cambiar las monedas.
Las salidas no gastadas pertenecen a la billetera como un todo, y las cuentas solo hacen un seguimiento de quién/qué posee qué cantidad de ellas, no cuáles específicamente. Es como tener una billetera con dinero que te pertenece a ti y a un amigo. Realiza un seguimiento de cuánto le debe a su amigo, pero no realiza un seguimiento de qué billetes o monedas específicos en la billetera le pertenecen.
Para hacer lo que desea, debe usar billeteras separadas (que mantienen las monedas por separado por completo), o usar el control de monedas o la API de transacciones sin procesar, que le permiten especificar manualmente qué monedas usar.
¿Estás buscando poder hacer esto con el demonio de bitcoin? Podrías revisar el
obtener cuentallamada RPC. La ayuda para este método es:
obtener cuenta "dirección bitcoin"
Devuelve la cuenta asociada a la dirección dada.
Argumentos: 1. "bitcoinaddress" (cadena, requerida) La dirección de bitcoin para la búsqueda de cuenta.
Resultado: "nombre de cuenta" (cadena) la dirección de la cuenta
Ejemplos: > bitcoin-cli obtener cuenta "1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ" > curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "método": "getaccount", "params": ["1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ"] }' -H 'tipo de contenido: texto/sin formato;' http://localhost:8332/
codificador morse
pieter wuille
pieter wuille