Чистая прибыль/убыток по сделке

У меня есть TXid в моем кошельке, который содержит несколько транзакций (множественные отправки и получения). Из того, что я прочитал, это транзакции, которые сеть создает, облегчая разделение/объединение нескольких входов/выходов и т. д. Когда я gettransactionв кошельке, который у меня есть, я вижу

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
    }
  ],

Итак, я пытаюсь выяснить, каков чистый результат этой сделки. Я получил -17 и у меня была комиссия 20. Означает ли это, что я чистый убыток 37?

Ответы (1)

хм, да, это система учета внутри биткойна :-) на bitcoin.SE полно вопросов по балансу на счетах.

«-17» будет означать, что средства ушли с известного адреса в вашем кошельке на «внешний» целевой адрес. А если комиссии 20, то да, у вас "исходящие" 37 монет. Кстати: на какой системе ты играешь? Адреса, начинающиеся с "GPP"...?

Когда я играл с env regtest, я обнаружил, что только «gettxout» предоставляет достоверную информацию о том, какой tx может иметь средства. См. также ветку здесь .

Вот короткий сценарий оболочки Linux, чтобы передать идею. Его необходимо обновить, чтобы справиться со многими входными данными, поэтому нужно будет перебирать 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

Суммируя все части, на которые можно потратить средства, вы получите «ваш» баланс. И вы можете проверить «входящие» и «исходящие» средства в вашем кошельке.

Так что это не биткойн, это кошелек из альтернативной POS-монеты, но CLI почти идентичен биткойн-cli. В любом случае, я просмотрел другие транзакции, в которых я отправлял деньги, и значение «комиссия» было отрицательным. Зная, что я запустил число, и моя чистая сумма на самом деле представляет собой «сумма» + «комиссия», поэтому эта передача была чистой прибылью в размере 3. После некоторого чтения я понял, что это была награда за ставку.