Конечная точка декодирования Blockcypher не работает для транзакций Segwit BTC

Я использую конечную точку декодирования Blockcypher, чтобы проверить строку tosign перед ее подписанием, чтобы убедиться, что никто не подделал ее - как предлагается в https://www.blockcypher.com/dev/bitcoin/.

У меня нет проблем с транзакциями P2PKH (устаревшие). Декодирование tosign_tx, я получаю все входы, выходы и значения, как предполагалось. Вы даже можете попробовать это онлайн: https://live.blockcypher.com/btc/test3/decodetx/

Проблема возникает при проверке транзакций P2WPKH. Ниже приведен TXSkeleton - я удалил ненужные поля:

{
  "tx": {
    "block_height": -1,
    "block_index": -1,
    "hash": "b83e920cb00b7f0456332e28cb52d726b52066f383c952d3a8a7637e0dd59dff",
    "addresses": [
      "tb1qrwq2jw98sj470n0w3ld0jh6l0c9ce59eq5azux",
      "tb1q9gd0knnm3jm9r0c7zgvq056uhpx37f8whlxvj9"
    ],
    "total": 994600,
    "fees": 5400,
    "size": 113,
    "preference": "high",
    "ver": 1,
    "double_spend": false,
    "vin_sz": 1,
    "vout_sz": 2,
    "confirmations": 0,
    "inputs": [
      {
        "prev_hash": "6d787f57d978cda5973ac4646df2aadbd473ae58f18041b4b48f259c5858368b",
        "output_index": 1,
        "output_value": 1000000,
        "sequence": 4294967295,
        "addresses": [
          "tb1qrwq2jw98sj470n0w3ld0jh6l0c9ce59eq5azux"
        ],
        "script_type": "pay-to-witness-pubkey-hash",
        "age": 0
      }
    ],
    "outputs": [
      {
        "value": 100000,
        "script": "00142a1afb4e7b8cb651bf1e121807d35cb84d1f24ee",
        "addresses": [
          "tb1q9gd0knnm3jm9r0c7zgvq056uhpx37f8whlxvj9"
        ],
        "script_type": "pay-to-witness-pubkey-hash"
      },
      {
        "value": 894600,
        "script": "00141b80a938a784abe7cdee8fdaf95f5f7e0b8cd0b9",
        "addresses": [
          "tb1qrwq2jw98sj470n0w3ld0jh6l0c9ce59eq5azux"
        ],
        "script_type": "pay-to-witness-pubkey-hash"
      }
    ]
  },
  "tosign_tx": [
 "01000000d0fe2d3feb5f3a5b6a99c244f21924b0249e2bc65c5745bdb618b1799066a80a3bb13029ce7b1f559ef5e747fcac439f1455a2ec7c5f09b72290795e706650448b3658589c258fb4b44180f158ae73d4dbaaf26d64c43a97a5cd78d9577f786d010000001976a9141b80a938a784abe7cdee8fdaf95f5f7e0b8cd0b988ac40420f0000000000ffffffff5fa4537c4c565583f8d32a36c3510808d38acc0ad18cc7e637be6523ebb39ff30000000001000000"
  ],
  "tosign": [
    "f7c271366a770758bc3fd12f82b3cc04936da61fc3f98f7bfa188d946f1d0557"
  ]
}

Обычно я использую отправить его в Blockcypher, и Tx будет действительным. Но если мы отправим tosign_tx для декодирования, ответ будет следующим:

{
    "addresses": [],
    "block_height": -1,
    "block_index": -1,
    "confirmations": 0,
    "double_spend": false,
    "fees": 0,
    "hash": "ce60f13293560ebb983e515b57438a019088b166edc63e2bbbe1b349a48c3316",
    "inputs": [
        {
            "age": 0,
            "output_index": 3458805937,
            "prev_hash": "3b0aa8669079b118b6bd45575cc62b9e24b02419f244c2996a5b3a5feb3f2dfe",
            "script": "1f559ef5e747fcac439f1455a2ec7c5f09b72290795e706650448b3658589c258fb4b44180f158ae73d4dbaaf26d64c43a97a5cd78d9577f786d010000001976a9141b80a938a784abe7cdee8fdaf95f5f7e0b8cd0b988ac40420f0000000000ffffffff5fa4537c4c565583f8d32a36c3510808d38acc0ad18cc7",
            "script_type": "empty",
            "sequence": 1706964966
        },
        {
            "age": 0,
            "output_index": 0,
            "prev_hash": "000000000000000000000000000000000000000000000100000000f39fb3eb23",
            "script_type": "empty",
            "sequence": 0
        },
        {
            "age": 0,
            "output_index": -1,
            "script_type": "empty",
            "sequence": 0
        },
        
        ...(many many copies of this last struct)...
 ],
    "next_inputs": "https://api.blockcypher.com/v1/btc/test3/txs/ce60f13293560ebb983e515b57438a019088b166edc63e2bbbe1b349a48c3316?instart=100&outstart=0&limit=100",
    "opt_in_rbf": true,
    "outputs": [],
    "preference": "low",
    "size": 8661,
    "total": 0,
    "ver": 1,
    "vin_sz": 208,
    "vout_sz": 0
}

Спасибо за любые идеи.

0 ответов

Другие вопросы по тегам