Skip to content

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

Merged

Conversation

deadmanoz
Copy link
Contributor

@deadmanoz deadmanoz commented Feb 17, 2025

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:
Screenshot 2025-02-12 at 5 58 24 PM

Here are some screenshots of the incorrectly indented code samples or text samples that I've fixed:
Screenshot 2025-02-12 at 10 43 07 PM
Screenshot 2025-02-12 at 10 38 34 PM
Screenshot 2025-02-12 at 10 34 26 PM

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.
Screenshot 2025-02-06 at 12 03 20 PM
Screenshot 2025-02-12 at 11 08 23 PM

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:

  • The Block Subsidy is the new bitcoins
  • The Block Reward is the sum of the Block Subsidy & Transaction fees
    Screenshot 2025-02-13 at 9 23 02 AM

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.

    1. Fee Bumping
    1. Security Budget Problems

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:
Screenshot 2025-02-13 at 8 51 02 AM
Screenshot 2025-02-13 at 8 50 16 AM
Screenshot 2025-02-13 at 8 50 07 AM

Also on this page some of the expand and collapsing sections, e.g. What are UTXOs? and Why is Change needed? feel unnecessary as the volume of hidden text is tiny:
Screenshot 2025-02-13 at 8 49 32 AM
Screenshot 2025-02-13 at 8 49 22 AM

Copy link
Collaborator

@jrakibi jrakibi left a 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

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.
Copy link
Collaborator

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries, will do!

@jrakibi
Copy link
Collaborator

jrakibi commented Feb 18, 2025

Also, I'll update the images accordingly with these new changes.

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 looked pretty bad to me a few days ago:

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

@jrakibi
Copy link
Collaborator

jrakibi commented Feb 22, 2025

LGTM
thanks @deadmanoz for your contribution 👑

@jrakibi jrakibi merged commit 7ee8295 into bitcoin-dev-project:main Feb 22, 2025
@jrakibi
Copy link
Collaborator

jrakibi commented Feb 22, 2025

Merged

@deadmanoz deadmanoz deleted the content-fixes-and-improvements branch February 24, 2025 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants