-
Notifications
You must be signed in to change notification settings - Fork 19
Content fixes and improvements for transactions module #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Content fixes and improvements for transactions module #75
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are really great suggestions
Mad, thanks for your contribution.
I left one comment regarding external links, but apart from that, everything looks good.
Hope to see you doing more decoding-bitcoin
patches
decoding/inputs-prev-txid.mdx
Outdated
There was a unique situation in Bitcoin's history where duplicate TXIDs occurred in blocks 91,722 and 91,880. As a result, BIP 30 was implemented to prevent blocks from containing duplicate TXIDs, and BIP 34 was introduced to require coinbase transactions to include block height in their data. | ||
Duplicate TXID: `e3bf3d07d4b0375638d5f1db5255fe07ba2c4cb067cd81b84ee974b6585fb468` | ||
|
||
There was a unique situation in Bitcoin's history where the same TXID (above) occurred in multiple blocks: [91,722](https://mempool.space/block/00000000000271a2dc26e7667f8419f2e15416dc6955e5a6c6cdf3f2574dd08e) and [91,880](https://mempool.space/block/00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721). As a result, BIP 30 was implemented to prevent blocks from containing duplicate TXIDs, and BIP 34 was introduced to require coinbase transactions to include block height in their data. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we make this an external link so it opens in a new tab? In general, we open external links outside Decoding in a new tab
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries, will do!
Also, I'll update the images accordingly with these new changes.
I pushed a fix for this a few days ago, which is why it looks better now. However, I still think it's a bit hard to read, especially on small devices, so I'll fix that |
LGTM |
Merged |
Hey @jrakibi took a bit longer than I originally planned for. I've worked through the Transactions module and found a few minor fixes and have proposed some improved language in some parts.
First up let me just say that this content is very good and needed very little revision! It's engaging, well illustrated and has interesting references to historical transcactions and history (I learnt a bit!). It's at the right level for what it aims to be, is appropriately broken down and should allow people to put it down and pick it up next time around. Much respect!
BOSS specific, it aligns well with the earlier course material, especially the signet wallet challenge. I imagine if peoeple have access to this material from the outset of tackling that challenge, we'd see people progressing through at a faster rate and with a clearer understanding. And the more people that understand this, the better the Bitcoin ecosystem will be in the long run.
Anyway here's the specific feedback. Some screenshots of my local testing of some changes:

Here are some screenshots of the incorrectly indented code samples or text samples that I've fixed:



In the early pages, e.g. Input Count, you introduce a new TX in the "Hexidecimal format" Graphic, wheres you've got a different TX at the top of the page in the interactive TX (https://mempool.space/tx/89699cce128a694b4fb3be0e07ae0a9b63f0da1bc62fb3a4eb3c5a497fbae881). Was initially a bit confused as to why there are 2 totally seperate TXs.
Switching between the terms Compact Size and varInt in the Input Count section without being explicit may be confusing for newbies. It's only later clarified on the Compact Size page.


In Step 5: Calculate Preimage and Sighash, I think you need to mention something about the value of locktime being set to a value as specified in the BIP test vector, and mention that more often than not it would have a different value (e.g.
0x00000000
)Fee-calculation. Using the terms block reward and block subsidy interchangeable. I've corrected the text in my PR as per the below definition, but you need to update this image accordingly and re-check:
Also under Fee Calculation, the following topics don't have pages (even placeholders) yet, but there are a few others that do have even just placeholder pages.
The text on all of the images on the Creating a Transaction page is a little bit hard to read. It doesn't look so bad now and nothing appears to have changed 🤷♀️ but it was looking pretty bad for me a few days ago:



Also on this page some of the expand and collapsing sections, e.g.


What are UTXOs?
andWhy is Change needed?
feel unnecessary as the volume of hidden text is tiny: