Estoy creando una aplicación web que usa las cuentas de bitcoind para rastrear los saldos de los usuarios. Mi dev env está actualmente en regtest
modo. Estoy trabajando para calcular la tarifa de transacción de la red antes de crear una transacción sin procesar.
Cuando hago listunspent
bitcoins a través de JSON-RPC, obtengo una matriz multidim que incluye txid, dirección y scriptPubKey (entre otras cosas). ¿Cómo puedo usar esta información para determinar a qué cuenta están vinculados estos utxo? Pensé que podría usar getaccount
con las direcciones correspondientes devueltas, pero me devolvieron una cadena vacía. ¿Se debe a que la transacción se originó en la cuenta 'global' de la billetera? ¿Tiene algo que ver con el modo de prueba de regresión?
También intenté listtransactions
que la cuenta específica coincidiera con txid, pero no tenía txid porque eran movimientos. Incluso si pudiera hacer esto para transacciones de red, ¿cómo manejaría los utxo que resultaron de un movimiento?
Puedo getbalance
para diferentes cuentas y ver los saldos resultantes correctos al usar el move
comando. Estoy empezando a cuestionar algunas cosas, así que no estoy seguro de dónde tengo un problema o si estoy haciendo esto de manera incorrecta. En última instancia, mi objetivo es poder calcular la tarifa de tx para que el usuario pueda aprobarlos antes de enviarlos... teniendo en cuenta la billetera única en la que cada usuario tiene su propia cuenta.
¡Gracias por la ayuda! ... es tarde y me duele la cabeza jajaja
En pocas palabras, no puede asociar UTXO con cuentas, solo puede asociar direcciones. Desde la página de cuentas wiki de bitcoin :
Cuando recibe bitcoins, siempre se asignan a una de sus cuentas, y puede cambiar qué cuenta se acredita en función de qué dirección de bitcoin recibe las monedas, al igual que le dice a un cajero de banco en qué cuenta acreditar cuando deposita efectivo en su banco . Sin embargo, enviar bitcoins es como retirar efectivo del banco; las monedas que se envían y debitan de una cuenta casi siempre no son las mismas monedas que se depositaron en esa cuenta.
Si aún no lo ha hecho, debería ver esta publicación sobre por qué la parte de cuentas de la pestaña no es realmente escalable.
Pensé que podría usar getaccount con las direcciones correspondientes devueltas, pero me devolvieron una cadena vacía. ¿Se debe a que la transacción se originó en la cuenta 'global' de la billetera?
Sí, eso es exactamente, por qué. La cuenta predeterminada se llama "".
Por lo tanto, puede asociar UTXO con cuentas mediante la asociación de direcciones con cuentas, pero cuando gasta, no hay garantía de dónde está gastando.
Como posible solución alternativa, podría considerar usar esta llamada rpc:
listreceivedbyaddress ( minconf includeempty )
Juan B.
sendfrom
elige sus utxo para garantizar el gasto de la cuenta correcta? Veo en sus enlaces que el rendimiento probablemente disminuirá a medida que tenga más y más cuentas, pero ¿podría predecir los utxo que elegirá la billeterasendfrom
sabiendo que siempre intentará sacar de la cuenta predeterminada? He visto otras publicaciones que mencionan la rutina pero no con respecto a las cuentas.codificador morse
createrawtransaction
ysignrawtransaction
.