Post
Topic
Board Кодеры
Merits 3 from 2 users
Re: Технические подробности майнинга Bitcoin.
by
A-Bolt
on 14/10/2023, 15:40:56 UTC
⭐ Merited by Ratimov (2) ,xandry (1)
Как создавать "coinbase tx"? Можно ли построить её через createrawtransaction или её можно создать только в коде?
createrawtransaction - только для обычных транзакций, транзакцию coinbase так сделать не получится.

Тогда я не полностью понимаю как устроенно построение данной транзакции.
Тут на примере показана структура транзакции coinbase.
Code:
01000000 .............................. Version

01 .................................... Number of inputs
| 00000000000000000000000000000000
| 00000000000000000000000000000000 ...  Previous outpoint TXID
| ffffffff ............................ Previous outpoint index
|
| 29 .................................. Bytes in coinbase
| |
| | 03 ................................ Bytes in height
| | | 4e0105 .......................... Height: 328014
| |
| | 062f503253482f0472d35454085fffed
| | f2400000f90f54696d65202620486561
| | 6c74682021 ........................ Arbitrary data
| 00000000 ............................ Sequence

01 .................................... Output count
| 2c37449500000000 .................... Satoshis (25.04275756 BTC)
| 1976a914a09be8040cbf399926aeb1f4
| 70c37d1341f3b46588ac ................ P2PKH script
| 00000000 ............................ Locktime

Но есть нюанс. SegWit, внедрённый в августе 2017, кое-что добавляет к примеру выше, а именно ещё один выход, в котором хранится witness_commitment и txinwitness, содержащий witness reserved value (на текущий момент это всегда 32 нулевых байта).