I do know that on this discussion board plenty of questions on this subject, I’ve checked most of those, however cannot discover the answer for my activity. I’m creating my very own algorithm for solo mining bitcoin on Python. I wrote all vital strategies for that, together with hashing the Merkle root, calculating the block header and so forth. However now, I’m caught for just a few weeks on the coinbase transaction. I’ve studied the coinbase transaction web page on LearnMeABitcoin.com and tried to implement all logic for it, however cannot totally perceive the right way to make one. I need to embody new guidelines (BIP34 – block header, BIP141 – SegWit tx) on this algorithm, however my information about hashing this isn’t sufficient. 🙁
Can somebody present possibly extra supplies, some samples of code, or describe particulars about producing a coinbase transaction? Any info will probably be very useful, hope in your assist.
Additionally, I’m coaching on Bitcoin core in regtest mode, and once I use "generatetoaddress" methodology (for generate blocks) this one does not gen coinbase tx with BIP34 & BIP141 necessities, possibly I want set extra config for this one? I discovered somebody say about blockversion arg, is it true?
Thanks all ^^
P.S. If i miss some particulars about my activity, fell free to ask and I present all data which I’ve, of pattern of code which I’ve (it isn’t working)
UPDATE
I’ve greate information, I discover the answer and full this) thanks all for yout assist, some later I share my code for gen coinbaseTx in python.
However left just one query, i take advantage of object for generate tx like on display screen, and it have some distinction with coinbase tx from generataing by Bitcoin Core utilizing generatetoaddress solely in a single place, filed n in first output, and it at all times "00000000", like 0 in little-endian with 4 bytes I hope. Can somebody clarify what it’s? I take advantage of p2wpkh script for hashing handle, possibly this one is kind for this? Once I add this worth all labored high quality, and I efficiently gen CoinbaseTx, after construct block header and full block and broadcast it to node. However only for totally understanding my code, wanna to know what this "00000000" imply) Title "n" for discipline was by me, simply momentary identify.