El BTC muestra 10^8 veces más de lo que se recibe en la cuenta

Trabajo con la Java/Maven/JSPaplicación BitcoinJy tengo una transferencia de aproximadamente 0.0048 BTC desde un grifo de testnet. Sin embargo, después de recibir, veo que mi cuenta tiene un saldo de 480000.00 BTC.

ingrese la descripción de la imagen aquí

Este es el método que he usado para obtener el Satoshi Coin.

public Coin getBalance() {
        return balance;
    }

Revisé el código y al menos mi parte de backend me parece normal. ¿Cómo abordar este problema?

Respuestas (2)

Aparentemente, la aplicación muestra la cantidad como Satoshi (la unidad más pequeña) en lugar de BTC. Para cálculos internos está bien porque evita errores de redondeo, pero para entrada y salida debe escalar por un factor apropiado (10 ^ 8 para BTC o 10 ^ 5 para mBTC).

Sí, y en bitcoinj en realidad hay dos clases para formatear valores de monedas para humanos: MonetaryFormat y BtcFormat. Recomiendo encarecidamente usar uno de los dos.

Aquí hay un ejemplo:

Wallet wallet = <initialize wallet here>
String friendlyFormat = BtcFormat.getInstance().format(wallet.getBalance());
¿Cómo convertir Satoshies a BTC en Java?
¿Qué significa la wallet.getBalance()devolución? He probado de varias formas y ninguna me funciona. El método que utilizo para obtener la moneda Satoshi es public Coin getBalance() { return balance; }¿Cómo puedo obtener el valor correcto en BTC? tambien he probado conbalance.leftShift(8)