Programming Bitcoin

Errata for Programming Bitcoin

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
PDF
Page na
na

Figure 13-2 -> should be “0248…ac - witness” Figure 13-21 -> should be “0400…ae - witness” Figure 13-26 -> please consider listing the two signatures for clarity since "<signaturex>" is not defined Figure 13-27 -> should be “026c…f3 - <pubkeyx>” and please consider listing all three pubkeys for clarity since "<pubkeyx>" is not defined Figure 13-42 -> please consider listing the two signatures for clarity since "<signaturex>" is not defined Figure 13-43 -> should be “026c…f3 - <pubkeyx>” and please consider listing all three pubkeys for clarity since "<pubkeyx>" is not defined

Note from the Author or Editor:
These should all be updated. Thanks! To the illustrator, the witness field is correctly labeled on 13-2 and 13-21, but the hex before is wrong. Please change 13-26 and 13-42 to have each signature separately Please change 13-27 and 13-43 to list each pubkey separately

Casey Bowman  Feb 13, 2019 
PDF
Page xv
bottom of the page

Printed is : --- 6. Install virtualenv: $ pip install virtualenv --- The problem is that there is a distintion into different user accounts on Linux. This command only runs like this if you are working with the root account, which you should not do. The easy fix is to modify the last line to read : $ pip install virtualenv --user This will install into the user home directory instead of systemwide, which would require root access.

Note from the Author or Editor:
This is correct.

Lutz Lange  Feb 27, 2019 
Printed
Page 36
Deriving the Point Addition Formula

From earlier, we know that: x^3 - s^2x^2 + (a + 2s^2x_1 -2sy~1~)x + b - s^2x_1^2 + 2sx~1~y_1-y_1^2 = 0 => x^3 - s^2x^2 + (a + 2s^2x_1 -2sy_1)x + b - s^2x_1^2 + 2sx_1y_1-y_1^2 = 0 (tilde => subscript)

Note from the Author or Editor:
I'm fixing this in atlas.

kamimura  Mar 31, 2019 
PDF
Page 123
Figure 6-22

The text of the bottom left label needs to be changed: from: OP_CHECKMULTISIG to: OP_CHECKSIG

O'Reilly Media, Inc.
 
Apr 22, 2019 
PDF
Page 179
Figure 10-2

Hexdump of both receiver and sender's network port should read "208d" instead of "8d20"

Note from the Author or Editor:
Please change Figure 10-2 to be 208d instead of 8d20 for both the receiver port and sender port. the hex in the image above needs to change as well.

Simon Castano  Mar 15, 2019 
PDF
Page 180
2nd paragraph

Last line should read "which maps to 208d in big-endian hex." instead of "which maps to 8d20 in little-endian hex"

Note from the Author or Editor:
This is correct. I'm making changes into atlas.

Simon Castano  Mar 15, 2019 
Printed
Page 255-256
3rd line from the bottom on p 255 & 3rd line from the top on p 256

The 3rd line from the bottom of p 255 should read: >>> a, x1, y1 = 5, -1, -1 and the 3rd line from the top of p 256 should read: 10.0 77.0 Also in the code for Exercise 6 in Chapter 2, three files related to this error need to be changed. 1) code-ch02/answers.py line 48: a, x1, y1 = 5, -1, -1 line 53: 18.0 77.0 2) code-ch02/jupiter.txt line 35: x1, y1, = -1, -1 line 36: # (-1,-1) + (-1,-1) 3) code-ch02/Chapter2.ipynb line 171: "For the curve \\\\(y^{2}\\\\)=\\\\(x^{3}\\\\)+5x=7, what is (-1,-1) + (-1,-1)?" line 186: "x1, y1 = -1, -1\n", line 187: "# (-1,-1) + (-1,-1)"

Note from the Author or Editor:
The description is exactly what needs to change. I will upload the changes to atlas.

Casey Bowman  Mar 08, 2019