Post
Topic
Board Кодеры
Re: Как вытащить из hex raw транзакции комиссию и по
by
A-Bolt
on 24/09/2023, 11:57:30 UTC
Как вытащить из hex raw транзакции комиссию и получить входные суммы?
Зачем непременно из HEX? Вы, я вижу, умеете получать транзакцию в формате JSON, с ним удобнее работать.

Итак, у вас есть вход, который ссылается на выход 1 транзакции a5384c769b4f2693269689c53ab40d4e40072ef4b3a0362ed313ee7c0d9cd12e:
Code:
"Inputs": [
        {
            "ID": "2ed19c0d7cee13d32e36a0b3f42e07404e0db43ac589962693264f9b764c38a5",
            . . .
            "VOUT": "01000000",
Обратите внимание, в вашем выводе JSON некоторые параметры выводятся с обратным порядком байт, что неудобно. Необходимо сделать запрос транзакции с ID a5384c769b4f2693269689c53ab40d4e40072ef4b3a0362ed313ee7c0d9cd12e и получить этот выход:
Code:
{
      "value": 17.62073647,
      "n": 1,
      . . .
}
Параметр value даёт сумму, которую тратит ваша транзакция. Если бы в ней было несколько входов, пришлось бы просуммировать value всех выходов, на которые ссылаются эти входы. А в вашем случае (один вход), на входе транзакции имеем 17.62073647 BTC.

Теперь суммируем value выходов:
Code:
"Outputs": [
        {
            . . .
            "Value": "3b770a0000000000",
            . . .
        },
        {
            . . .
            "Value": "5a17fc6800000000", 
            . . .         
        }
    ],
685883 + 1761351514 = 1762037397 sat = 17.62037397 BTC

Комиссия за транзакцию равна разности между суммой входов и суммой выходов:
17.62073647 - 17.62037397 = 0.0003625 BTC