yogh-io / bitcoin-transaction-explorer

Simple and pure block explorer you can run on top of a full node
http://yogh.io
MIT License
181 stars 38 forks source link

Doesn't decode transaction in block 501726 #20

Closed ysangkok closed 3 years ago

ysangkok commented 5 years ago

The block is:

00000020bb26f9994bd6d4d51f95c90fe9ae7c0b4fd6d2b882532b0000000000000000008211922c4f11084ef2e9cc4d858ad0f4e1a911ae1740e5a1bf3b823a3b85f89bb88c475a45960018dd9722970101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1203dea707055a478cb801b80100006ea50000ffffffff0100000000000000002952534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c62400000000

The tx hash is:

9bf8853b3a823bbfa1e54017ae11a9e1f4d08a854dcce9f24e08114f2c921182

The tx is:

01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1203dea707055a478cb801b80100006ea50000ffffffff0100000000000000002952534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c62400000000

When pasted into yogh.io, the progress indicator never stops animating, and the script contains "ERROR", what does it mean?

Giszmo commented 3 years ago

For what it's worth:

What you call "The block" looks like a block header to me, so this should be the previous block hash:

> a = "bb26f9994bd6d4d51f95c90fe9ae7c0b4fd6d2b882532b000000000000000000"
'bb26f9994bd6d4d51f95c90fe9ae7c0b4fd6d2b882532b000000000000000000'
> Buffer.from(a, "hex").reverse().toString("hex")
'0000000000000000002b5382b8d2d64f0b7caee90fc9951fd5d4d64b99f926bb'

but

$ bitcoin-cli getblock 0000000000000000002b5382b8d2d64f0b7caee90fc9951fd5d4d64b99f926bb
error code: -5
error message:
Block not found

so for all I know this might be from a non-bitcoin blockchain. Also:

$ bitcoin-cli --version
Bitcoin Core RPC client version v0.17.1.0-ef70f9b52-dirty
$ bitcoin-cli decoderawtransaction 01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff1203dea707055a478cb801b80100006ea50000ffffffff0100000000000000002952534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c62400000000
{
  "txid": "9bf8853b3a823bbfa1e54017ae11a9e1f4d08a854dcce9f24e08114f2c921182",
  "hash": "9bf8853b3a823bbfa1e54017ae11a9e1f4d08a854dcce9f24e08114f2c921182",
  "version": 1,
  "size": 119,
  "vsize": 119,
  "weight": 476,
  "locktime": 0,
  "vin": [
    {
      "coinbase": "03dea707055a478cb801b80100006ea50000",
      "sequence": 4294967295
    }
  ],
  "vout": [
    {
      "value": 0.00000000,
      "n": 0,
      "scriptPubKey": {
        "asm": "2 3 [error]",
        "hex": "52534b424c4f434b3addbf517adf8ffd4bca7751505b39c9013a0d1fd479fc4e901b39dd57b347c624",
        "type": "nonstandard"
      }
    }
  ]
}

Doing the same with an updated client might shed light on the issue but as the block is not clear, let's figure that out first.

ysangkok commented 3 years ago

@Giszmo It's probably from regtest as I was working on Lightning at the time. Why do you think it is a block header when it includes the transaction?

Giszmo commented 3 years ago

Oh, I just thought it was too short for a full block but if it's from regtest ...

I'm not sure it makes much sense to keep this issue around if we don't know more details.

Giszmo commented 3 years ago

0000000000000000002b5382b8d2d64f0b7caee90fc9951fd5d4d64b99f926bb doesn't look like regtest, does it? You would have to mine hard to get such a block hash.

ysangkok commented 3 years ago

Oh right, I can't explain it then. I'll close.