You've already forked transactions
249 lines
9.8 KiB
Markdown
249 lines
9.8 KiB
Markdown
What is it?
|
|
|
|
It is a simple command line application that takes a transaction and prints all it can know about it.
|
|
|
|
Example:
|
|
|
|
> $ transactions --rawtx 0200000002e2f5bcd6c4df8309130f1c7d91266a0f812e251d1acaf48783a0bb5b07637ac3000000006441896ef662a8f7720de89a3393d04c74f663364fb985bfe8d9388eec4c9ad0c3635c8d73cb301a0c422c421a7c8ab390c965e83508012d9954adb06884f69fae55612102bb2f64940415b2c6511d6290d2a8da06db708c2c1a8c19df0b3cecc338050b0700000000179b39b87cc0d3f8d4cf2eedf5f912d6390c4a6cb086047e84f485be2b088e4c01000000fd6f0110c98fd8662ecd0b0017cd0b00b97b000040ca4d7188535a9e8456bc05b5bb161b2e7502b7a9251bb5de0c7eaae2b5090dea40e430b8adb6b809b4a42a12239b88a8629771ced486970fa7c49a243ebcd9fc2102d09db08af1ff4e8453919cc866a4be427d7bfe18f2c05e5444c196fcf6fd2818004cf82103341a6fb68e883fb2c5ce0d0d186e9e09792839479bfb14adda2f498fc2dfaacf78009c635279827701219d54798277609dc0cf827701249dc0cf01147f785579a988557a5679567abb5479587f77547f75817c587f77547f7581a069c0ccc0c6a269c0cdc0c788c0d1c0ce88537a7ec0d28777776778519c6302e803c0ccc0c67b93a269c0cdc0c788c0d1c0ce88c0d2c0cf8777776778529c637b7cadc0cc022003a269c0cdc0c788c0d1c0ce88c0d2c0cf8777677c539dadc0cc022003a269c0cdc0c788c0d1c0ce88c0d2827701249dc0cf01147f75c0d201147f7b7b879169100000000000000000000000000000000087686868ffffffff022ed40200000000001976a9149ad0f528e1c26501c49f1186bb2f208038971ac488ac20030000000000006aef5059621a87a140da4d8f83e456630be833cc7d7664e43fbbf481da5c3dfcb6b06124763d932c30ca45715f9861dc205243f1520bfafac98fd8662ecd0b0017cd0b00b97b0000aa2076fbc08f5ba4bd098f0c0da12a13d5b229b68c6d7e3cbd197c90ec01ae116ab98729230000
|
|
|
|
|
|
gives output:
|
|
|
|
```
|
|
|
|
{
|
|
inputs :[
|
|
{
|
|
txid: c37a63075bbba08387f4ca1a1d252e810f6a26917d1c0f130983dfc4d6bcf5e2
|
|
vout: 0
|
|
script: OP_DATA_65 896ef662a8f7720de89a3393d04c74f663364fb985bfe8d9388eec4c9ad0c3635c8d73cb301a0c422c421a7c8ab390c965e83508012d9954adb06884f69fae5561
|
|
OP_DATA_33 02bb2f64940415b2c6511d6290d2a8da06db708c2c1a8c19df0b3cecc338050b07
|
|
lint: P2PKH (SIGHASH_ALL SIGHASH_UTXO SIGHASH_FORKID )
|
|
}
|
|
{
|
|
txid: 4c8e082bbe85f4847e0486b06c4a0c39d612f9f5ed2ecfd4f8d3c07cb8399b17
|
|
vout: 1
|
|
sequence: ffffffff
|
|
script: OP_DATA_16 c98fd8662ecd0b0017cd0b00b97b0000
|
|
OP_DATA_64 ca4d7188535a9e8456bc05b5bb161b2e7502b7a9251bb5de0c7eaae2b5090dea40e430b8adb6b809b4a42a12239b88a8629771ced486970fa7c49a243ebcd9fc
|
|
OP_DATA_33 02d09db08af1ff4e8453919cc866a4be427d7bfe18f2c05e5444c196fcf6fd2818
|
|
OP_0 (push empty item to stack)
|
|
OP_PUSHDATA1 248 2103341a6fb68e883fb2c5ce0d0d186e9e09792839479bfb14adda2f498fc2dfaacf78009c635279827701219d54798277609dc0cf827701249dc0cf01147f785579a988557a5679567abb5479587f77547f75817c587f77547f7581a069c0ccc0c6a269c0cdc0c788c0d1c0ce88537a7ec0d28777776778519c6302e803c0ccc0c67b93a269c0cdc0c788c0d1c0ce88c0d2c0cf8777776778529c637b7cadc0cc022003a269c0cdc0c788c0d1c0ce88c0d2c0cf8777677c539dadc0cc022003a269c0cdc0c788c0d1c0ce88c0d2827701249dc0cf01147f75c0d201147f7b7b879169100000000000000000000000000000000087686868
|
|
\_
|
|
P2SH likely. Trying to parse. Ignore errors if this isn't p2sh
|
|
OP_DATA_33 03341a6fb68e883fb2c5ce0d0d186e9e09792839479bfb14adda2f498fc2dfaacf
|
|
OP_OVER
|
|
OP_0 (push empty item to stack)
|
|
OP_NUMEQUAL
|
|
OP_IF
|
|
OP_2 (pushes 2 on stack)
|
|
OP_PICK
|
|
OP_SIZE
|
|
OP_NIP
|
|
OP_DATA_1 21
|
|
OP_NUMEQUALVERIFY
|
|
OP_4 (pushes 4 on stack)
|
|
OP_PICK
|
|
OP_SIZE
|
|
OP_NIP
|
|
OP_16 (pushes 16 on stack)
|
|
OP_NUMEQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_UTXOTOKENCOMMITMENT
|
|
OP_SIZE
|
|
OP_NIP
|
|
OP_DATA_1 24
|
|
OP_NUMEQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_UTXOTOKENCOMMITMENT
|
|
OP_DATA_1 14
|
|
OP_SPLIT
|
|
OP_OVER
|
|
OP_5 (pushes 5 on stack)
|
|
OP_PICK
|
|
OP_HASH160
|
|
OP_EQUALVERIFY
|
|
OP_5 (pushes 5 on stack)
|
|
OP_ROLL
|
|
OP_6 (pushes 6 on stack)
|
|
OP_PICK
|
|
OP_6 (pushes 6 on stack)
|
|
OP_ROLL
|
|
OP_CHECKDATASIGVERIFY
|
|
OP_4 (pushes 4 on stack)
|
|
OP_PICK
|
|
OP_8 (pushes 8 on stack)
|
|
OP_SPLIT
|
|
OP_NIP
|
|
OP_4 (pushes 4 on stack)
|
|
OP_SPLIT
|
|
OP_DROP
|
|
OP_BIN2NUM
|
|
OP_SWAP
|
|
OP_8 (pushes 8 on stack)
|
|
OP_SPLIT
|
|
OP_NIP
|
|
OP_4 (pushes 4 on stack)
|
|
OP_SPLIT
|
|
OP_DROP
|
|
OP_BIN2NUM
|
|
OP_GREATERTHAN
|
|
OP_VERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTVALUE
|
|
OP_INPUTINDEX
|
|
OP_UTXOVALUE
|
|
OP_GREATERTHANOREQUAL
|
|
OP_VERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTBYTECODE
|
|
OP_INPUTINDEX
|
|
OP_UTXOBYTECODE
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCATEGORY
|
|
OP_INPUTINDEX
|
|
OP_INPUTINDEX
|
|
OP_EQUALVERIFY
|
|
OP_3 (pushes 3 on stack)
|
|
OP_ROLL
|
|
OP_CAT
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCOMMITMENT
|
|
OP_EQUAL
|
|
OP_NIP
|
|
OP_NIP
|
|
OP_ELSE
|
|
OP_OVER
|
|
OP_TRUE
|
|
OP_NUMEQUAL
|
|
OP_IF
|
|
OP_DATA_2 e803
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTVALUE
|
|
OP_INPUTINDEX
|
|
OP_UTXOVALUE
|
|
OP_ROT
|
|
OP_ADD
|
|
OP_GREATERTHANOREQUAL
|
|
OP_VERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTBYTECODE
|
|
OP_INPUTINDEX
|
|
OP_UTXOBYTECODE
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCATEGORY
|
|
OP_INPUTINDEX
|
|
OP_INPUTINDEX
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCOMMITMENT
|
|
OP_INPUTINDEX
|
|
OP_UTXOTOKENCOMMITMENT
|
|
OP_EQUAL
|
|
OP_NIP
|
|
OP_NIP
|
|
OP_ELSE
|
|
OP_OVER
|
|
OP_2 (pushes 2 on stack)
|
|
OP_NUMEQUAL
|
|
OP_IF
|
|
OP_ROT
|
|
OP_SWAP
|
|
OP_CHECKSIGVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTVALUE
|
|
OP_DATA_2 2003
|
|
OP_GREATERTHANOREQUAL
|
|
OP_VERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTBYTECODE
|
|
OP_INPUTINDEX
|
|
OP_UTXOBYTECODE
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCATEGORY
|
|
OP_INPUTINDEX
|
|
OP_INPUTINDEX
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCOMMITMENT
|
|
OP_INPUTINDEX
|
|
OP_UTXOTOKENCOMMITMENT
|
|
OP_EQUAL
|
|
OP_NIP
|
|
OP_ELSE
|
|
OP_SWAP
|
|
OP_3 (pushes 3 on stack)
|
|
OP_NUMEQUALVERIFY
|
|
OP_CHECKSIGVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTVALUE
|
|
OP_DATA_2 2003
|
|
OP_GREATERTHANOREQUAL
|
|
OP_VERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTBYTECODE
|
|
OP_INPUTINDEX
|
|
OP_UTXOBYTECODE
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCATEGORY
|
|
OP_INPUTINDEX
|
|
OP_INPUTINDEX
|
|
OP_EQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCOMMITMENT
|
|
OP_SIZE
|
|
OP_NIP
|
|
OP_DATA_1 24
|
|
OP_NUMEQUALVERIFY
|
|
OP_INPUTINDEX
|
|
OP_UTXOTOKENCOMMITMENT
|
|
OP_DATA_1 14
|
|
OP_SPLIT
|
|
OP_DROP
|
|
OP_INPUTINDEX
|
|
OP_OUTPUTTOKENCOMMITMENT
|
|
OP_DATA_1 14
|
|
OP_SPLIT
|
|
OP_ROT
|
|
OP_ROT
|
|
OP_EQUAL
|
|
OP_NOT
|
|
OP_VERIFY
|
|
OP_DATA_16 00000000000000000000000000000000
|
|
OP_EQUAL
|
|
OP_ENDIF
|
|
OP_ENDIF
|
|
OP_ENDIF
|
|
}
|
|
]
|
|
outputs: [
|
|
{
|
|
amount: 185390
|
|
script: OP_DUP
|
|
OP_HASH160
|
|
OP_DATA_20 9ad0f528e1c26501c49f1186bb2f208038971ac4
|
|
OP_EQUALVERIFY
|
|
OP_CHECKSIG
|
|
}
|
|
{
|
|
amount: 800
|
|
script: TokenId: b0b6fc3d5cda81f4bb3fe464767dcc33e80b6356e4838f4dda40a1871a625950
|
|
+- 36 byte committment
|
|
|
|
OP_HASH256
|
|
OP_DATA_32 76fbc08f5ba4bd098f0c0da12a13d5b229b68c6d7e3cbd197c90ec01ae116ab9
|
|
OP_EQUAL
|
|
}
|
|
]
|
|
version: 2
|
|
nLockTime: 9001
|
|
}
|
|
size: 710
|
|
txid: 33b5da80c90db7a291a3a56670be65466879fa3f31a94cc0cacb83f584e3b854
|
|
|
|
```
|