¿Balance incorrecto del núcleo de Bitcoin?

Entonces tengo ubuntu 16x ejecutando bitcoin core. Es un nodo completo y totalmente sincronizado. Ejecute con bitcoind --daemon como se sugiere. Usando una dirección particular de mi billetera, cada vez que envío dinero a la dirección getblanace funciona bien (bitcoin-cli getbalance XXXX 1). Cada vez que envío dinero desde la dirección (en un sistema completamente diferente usando una billetera basada en la web), muestra que los bitcoins llegan cuando se esperaba, pero mi saldo de mi dirección correcta nunca se cae. Incluso intenté enviar todo el dinero en 10 transacciones diferentes y vi que estaba fallando cuando la cuenta debería haber sido puesta a cero, mientras siempre informaba que tenía mi saldo original alto.

Siento que me estoy perdiendo algo básico, pero parece que no puedo resolverlo. Gracias de antemano

¿Se han confirmado las transacciones?
Sí, todas las transacciones tienen una docena de confirmaciones en este punto, y aparecen en la otra billetera y puedo gastarlas en la nueva billetera.
eso también muestra el saldo incorrecto.
¿Bitcoin core tiene todos los bloques más recientes?$ bitcoin-cli getblockcount
espera, hay una entrada misteriosa en la parte superior de la lista de cuentas que dice "" -0.00145718, que es aproximadamente lo que he enviado desde esa dirección.
el recuento de bloques es 544380, que es el mismo número en getblockchaininfo
La función de cuentas es muy confusa y se eliminó en la última versión v0.17.0. bitcoin.org/en/release/…
dispara. Gracias por eso. Supongo que ha vuelto a la mesa de dibujo para mi desarrollo.

Respuestas (2)

El problema que está experimentando no es realmente un problema. Más bien es un malentendido fundamental de cómo funciona el sistema de cuentas. Debido a que es tan poco intuitivo y se comporta de manera inesperada, el sistema de cuentas se eliminó de Bitcoin Core.

El comportamiento que ves es completamente esperado. Las cuentas no están involucradas en el envío de Bitcoin, excepto que se reducen los valores internos de la cuenta. La asociación de domicilios a cuentas es cosa de sólo recibir. Los saldos de las cuentas solo se actualizan cuando las direcciones de la cuenta reciben dinero. Enviar dinero "desde" esas direcciones no actualizará el saldo. El saldo de la cuenta se reducirá solo si utiliza los send*comandos RPC que le permiten especificar una cuenta para reducir los importes.

También es importante tener en cuenta que "enviar desde" una cuenta no significa que las monedas asociadas con las direcciones en esa cuenta serán las únicas elegidas para la transacción. Se puede elegir cualquier moneda y luego se reducirá el saldo de la cuenta. Debido a esto, también es posible tener cuentas con saldo negativo.

En general, debe dejar de usar el sistema de cuentas. No solo se está eliminando, sino que también tiene un comportamiento extraño e inesperado.

¡Muchas gracias por esto, no pude encontrar esta información en ningún lado! Mirando la nueva API, ¿no parece que sea posible obtener un saldo de una etiqueta en particular o una dirección en particular? ¿Ahora solo es posible obtener el saldo de una billetera completa? Si es así, ¿es posible tener múltiples billeteras con un solo nodo 0.17?
Sí, no puede obtener el saldo de una etiqueta que realmente no tiene sentido porque una etiqueta no es una cuenta. Bitcoin Core ha admitido tener varias billeteras cargadas para algunas versiones ahora. Con 0.17, puede crearlos y cargarlos dinámicamente. Querrás usar createwallet y loadwallet.

(bitcoin-cli getbalance XXXX 1) ... getbalance de mi dirección correcta nunca se cae

XXXX hay un nombre de cuenta para getbalance .

Como comentó JBaczuk

La función de cuentas es muy confusa y se eliminó en la última versión v0.17.0 .

(estrictamente hablando, está en desuso en 0.17 y se espera que se elimine por completo en 0.18).