
Mastering Bitcoin

Only a valid transaction that correctly satisfies the conditions of the output script results in the output…
Some highlights have been hidden or truncated due to export limits.
David A. Harding • Mastering Bitcoin
The autogen.sh script creates a set of automatic configuration scripts that will interrogate your system to discover the correct settings and ensure you have all the necessary libraries to compile the code. The most important of these is the configure script that offers a number of different options to customize the build process.
David A. Harding • Mastering Bitcoin
Running a node, however, requires downloading and processing over 500 GB of data initially and about 400 MB of Bitcoin transactions per day. These figures are for 2023 and will likely increase over time. If you shut down your node or get disconnected from the internet for several days, your node will need to download the data that it missed. For ex
... See moreDavid A. Harding • Mastering Bitcoin
Sorry, we’re unable to display this type of content.
David A. Harding • Mastering Bitcoin
The use of Bitcoin’s blockchain to store data unrelated to Bitcoin payments is a controversial subject. Many people consider such use abusive and want to discourage it. Others view it as a demonstration of the powerful capabilities of blockchain technology and want to encourage such experimentation. Those who object to the inclusion of nonpayment d
... See moreDavid A. Harding • Mastering Bitcoin
Combining these categorizations, many Bitcoin wallets fall into a few groups, with the three most common being desktop full node (you control the keys), mobile lightweight wallet (you control the keys), and web-based accounts with third parties (you don’t control the keys).
David A. Harding • Mastering Bitcoin
The field that would contain an input script in a normal transaction is called a coinbase. It’s this field that gives the coinbase transaction its name. The coinbase field must be at least two bytes and not longer than 100 bytes. This script is not executed but legacy transaction limits on the number of signature-checking operations (sigops) do app
... See moreDavid A. Harding • Mastering Bitcoin
The P2SH feature offers the following benefits compared to the direct use of complex scripts in outputs: The similarity to original legacy addresses means the sender and the sender’s wallet don’t need complex engineering to implement P2SH. P2SH shifts the burden in data storage for the long script from the output (which additionally to being stored
... See moreDavid A. Harding • Mastering Bitcoin
The version of bech32 with a single different constant is known as bech32 modified (bech32m). All of the characters in bech32 and bech32m addresses for the same underlying data will be identical except for the last six (the checksum). That means a wallet will need to know which version is in use in order to validate the checksum, but both address t
... See more