Ganancia/pérdida neta de la transacción

Tengo un TXid en mi billetera que contiene múltiples transacciones (múltiples envíos y recepciones). Por lo que leí, estas son transacciones que la red crea para facilitar la división/combinación de múltiples entradas/salidas, etc. Cuando tengo gettransactionla billetera, veo

gettransaction 3dda59bf9801f88...5498dd7fd1c3f9577963b94
{
  "amount": -17.00000000,
  "fee": 20.00000000,

  "details": [
    {
      "account": "",
      "category": "send",
      "amount": 0.00000000,
      "vout": 0,
      "fee": 20.00000000
    },
    {
      "account": "",
      "address": "GPP7ic67...9TgitCB21r",
      "category": "send",
      "amount": -20.00000000,
      "vout": 1,
      "fee": 20.00000000
    },
    {
      "account": "",
      "address": "GPP7ic67...9TgitCB21r",
      "category": "send",
      "amount": -17.00000000,
      "vout": 2,
      "fee": 20.00000000
    },
    {
      "account": "TestWallet",
      "address": "GPP7ic67...9TgitCB21r",
      "category": "receive",
      "amount": 20.00000000,
      "vout": 1
    }
  ],

Entonces, estoy tratando de averiguar cuál es el resultado neto de esta transacción. Recibí -17 y tenía 20 de tarifa. ¿Significa eso que tengo una pérdida neta de 37?

Respuestas (1)

hmmm, sí, este sistema de contabilidad dentro de bitcoin :-) bitcoin.SE está lleno de preguntas según el saldo de las cuentas.

El "-17" indicaría que los fondos salieron de una dirección conocida en su billetera a una dirección de destino "externa". Y si las tarifas son 20, entonces sí, tiene 37 monedas "salientes". Por cierto: ¿en qué sistema estás jugando? ¿Direcciones que comienzan con "GPP"...?

Cuando estaba jugando con regtest env, descubrí que solo "gettxout" proporciona información confiable, qué tx podría tener fondos. Véase también el hilo aquí .

Aquí un breve script de shell de Linux, para captar la idea. Debe actualizarse para hacer frente a muchas entradas, por lo que sería necesario iterar a través de los VIN...

  b_cli="bitcoind -regtest"
  FUNDING_TXID=3dda59bf9801f88...5498dd7fd1c3f9577963b94

  TX_PREV_VOUT=$( $b_cli gettransaction $FUNDING_TXID | \
                  awk '/vout/ {  print $2; exit }'    | tr -d "," )

  $b_cli gettxout $FUNDING_TXID $TX_PREV_VOUT

  # as per Pieter's comment, spendable VINs return "something"...
  if [ ${#ret_val} -gt 0 ]; then
    echo " ## This tx has spendable funds"
  else
    echo " ## no spendable funds on $FUNDING_TXID"
  fi

La suma de todas las partes, que tienen fondos disponibles, sería "su" saldo. Y puede verificar los fondos que "entran" y "salen" en su billetera.

Entonces, esto no es de bitcoin, es una billetera de una moneda POS alternativa, pero la CLI es casi idéntica a la bitcoin-cli. De cualquier manera, investigué otras transacciones en las que envié dinero y el valor de la "tarifa" fue negativo. Sabiendo que ejecuté el número y mi red es en realidad "cantidad" + "tarifa", por lo que este tx fue una ganancia neta de 3. Después de leer un poco, me di cuenta de que esto era una recompensa por apostar.