Почему inCounter = 1 не равно witCount = 2? Как использовать witData, имеющие длину witLen?
5ca369bcf633ffdaef635b0778baf2543c191f565436504738a06f8c29dcb319:
Версия: 01000000
PTR: 8
segwit_tx: 1
swmarker: 00
swflag: 01
PTR: 12
num_inputs: 1
PTR: 14
txid_index [0]: D10B8D4F7BC14F36471BD1CD9346AEF399B48952B668F879857A4F61AA05075B01000000
PTR: 86
in_script_size [0]: 17
PTR: 88
in_script [0]: 1600146E5A9E498616FBF8AE1EFF60C58FCCDE69B58673
PTR: 134
in_seq [0]: FFFFFFFF
PTR: 142
num_outputs: 1
PTR: 144
out_amount: E069F90200000000
PTR: 160
out_script_size [0]: 17
PTR: 162
out_script [0]: A9148145BD99ED2B6A539BEADB478717CB43A3F9102287
PTR: 208
num_wits [0]: 2
PTR: 210
wit_size: 48
PTR: 212
tmpwits [0]: 483045022100883892D8D95E33D2F3968702653E7005786F35D6CD2AB5AD25729A87BFA41BFE02202BAC1AD96DA21FEDF7CE0290E85BB34D7553E75766BBC2F8187B6CAE25ED863601
PTR: 356
wit_size: 21
PTR: 358
tmpwits [1]: 2102A7082D3C292129FD18D0F49B7614657E1613FCCC2BDEBE40AA8B828C01A69B66
PTR: 424
in_wits [0]: 483045022100883892D8D95E33D2F3968702653E7005786F35D6CD2AB5AD25729A87BFA41BFE02202BAC1AD96DA21FEDF7CE0290E85BB34D7553E75766BBC2F8187B6CAE25ED863601 2102A7082D3C292129FD18D0F49B7614657E1613FCCC2BDEBE40AA8B828C01A69B66
nlocktime: 00000000
Что "Количество свидетелей" просто сколько элементов в стеке этого текущего свидетеля.
Для этого свидетеля есть подпись и Публичная, поэтому отсчет свидетеля "2",
Весь этот свидетель с его двумя элементами используется первым входом входного в сделке. Вы можете видеть, сделка дорожа на p2sh (p2wpkh).
--------------------
Почему я должен вставить один байт, прежде чем операции 44?
118c83b2c7aa4b500e0c0333dbfef990ca6c324004d68f68acb10ddada918474:
Версия: 01000000
PTR: 8
segwit_tx: 1
swmarker: 00
swflag: 01
PTR: 12
num_inputs: 2
PTR: 14
txid_index [0]: 0D668D9CEE347DD5256BEAC4D3A6E6CB6AA6EA1AF197D0C3EC08359223139E1B00000000
PTR: 86
in_script_size [0]: 17
PTR: 88
in_script [0]: 1600143F0402FCB8BEEF28A89BE7E94794EC66D469FDB6
PTR: 134
in_seq [0]: FEFFFFFF
PTR: 142
txid_index [1]: 0D668D9CEE347DD5256BEAC4D3A6E6CB6AA6EA1AF197D0C3EC08359223139E1B01000000
PTR: 214
in_script_size [1]: 6B
PTR: 216
in_script [1]: 483045022100EACEEE00202693D7D54AA84BD8B216F62B1F041B16E08E0352EB1ED50F1EF10102201A90288F667F975CC8D524431D61BD8B15F5D189610D31A9BD12EE37C0674F06012103C4561CE27291B1730E5A429934F45FB4FF9B56E24B6E10E0D176F198FA029671
PTR: 430
in_seq [1]: FEFFFFFF
PTR: 438
num_outputs: 2
PTR: 440
out_amount: 506C980000000000
PTR: 456
out_script_size [0]: 19
PTR: 458
out_script [0]: 76A9140AF575373DAD17150D91B6A191A371B59E09D87F88AC
PTR: 508
out_amount: 001C4E0E00000000
PTR: 524
out_script_size [1]: 17
PTR: 526
out_script [1]: A91403572C975AEC5228C0E2982EF8A03B6830E0554F87
PTR: 572
num_wits [0]: 2
PTR: 574
wit_size: 48
PTR: 576
tmpwits [0]: 483045022100913D331B78A2C1A2EC0E2AF7A826181F26E15E0195CEF13F492D2E22B8DD9E2C02201F808621F9684574CBBD755933509F6BCE7536AA5C36DD4C57FD635E5485404901
PTR: 720
wit_size: 21
PTR: 722
tmpwits [1]: 2103E2728BDC007032F5B30C823F4A3CD9236EAB5E3A6F23C6AE6BE8BD63FF847922
PTR: 788
in_wits [0]: 483045022100913D331B78A2C1A2EC0E2AF7A826181F26E15E0195CEF13F492D2E22B8DD9E2C02201F808621F9684574CBBD755933509F6BCE7536AA5C36DD4C57FD635E5485404901 2103E2728BDC007032F5B30C823F4A3CD9236EAB5E3A6F23C6AE6BE8BD63FF847922
num_wits [1]: 0
PTR: 790
in_wits [1]:
nlocktime: 19510d00
Вот здесь то же самое происходит и с первым входом. Он также выкупает p2sh (p2wpkh), поэтому мы видим обычный стек свидетелей из двух элементов, подписи и Публичные.
Второй вход искупляет не-segwit scriptpubkey. По bip141 правил, когда вход segwit и не вход segwit погашены в той же транзакции, вход без segwit будет иметь пустое свидетельство. Это единый
0x00 байт, который говорит вам, "это стопка свидетель 0 товаров"
(Обратите внимание, что, потому что вы не разбор "пустой стек" байт, ваш nlocktime был сдвинут. последний байт в nlocktime также 0x00, но это не тот же самые байт, что вы просили о) - Извини, я виноват. Вы спрашивали о правильном байте.