Early praise for “Introducing Ethereum” book, plus bug bounty

Sure, it’s great — but it could be better. If you find an error in the text, email me for an ETH reward.

Update (Monday, June 12, 2017): The bug bounty is officially closed! Fixes will be incorporated into the book’s second edition. Thank you to everyone who participated! Please email eth.guide@protonmail.com if you come across an error you think has not been documented below.

From Amazon to Reddit, my book Introducing Ethereum and Solidity has been received wonderfully:

But do you know what’s not fine? Mistakes, misspellings, technical flubs, and other errata. That’s why I’ll reward anyone who finds and corrects them, so that the second edition of this book is even better than the first. Here’s how you’ll be compensated for your mistake-eradication services.

Book bug bounty program, paid in ETH

Errata will be categorized in several tiers with rewards corresponding to the severity of the error.

  • 0.025 ETH: Vague or potentially misleading language
  • 0.05 ETH: Grammatical errors, misspellings, and formatting issues.
  • 0.075 ETH: Something begs a footnote, and you provide a great one.
  • 0.100 ETH: Technical errors, mis-statements and malapropisms.
  • 0.125 ETH: Factual non-technical error (eg., mistakes contained in descriptions of world history, or the banking system).
  • 0.150 ETH: Bugs in sample project code; you show solution.
  • 0.175 ETH bonus if you get a first-person answer from an Ethereum founder.

There is no maximum per reader.

How to redeem your rewards

Bounties are paid on a first-come, first serve basis. Email a brief description of the mistake, the page number where it appears, and a citation for a correction to eth.guide@protonmail.com. Responses will be appended to this post, so that you’ll know which bounties have been paid out already. I will do everything within my power to reply and redeem within 24 hours of your email. We’ll begin with the very first, below.

Found bug log!

(Updated June 13, 2017)

  • User /r/5dayoldburrito made a good critique of my characterization of the statefulness of Bitcoin versus Ethereum on Reddit.com/r/ethereum. The question pulled /r/vbuterin into the discussion, earning the user the Pro Answer bonus — more funding for fresh burritos. Bounty earned: 0.1 + 0.175 = 0.275 ETH (PAID — Tx hash)
  • User /r/5dayoldburrito also contributed to a clarification on page 42 around this sentence: “Transactions in the Ethereum network work [as follows]. The system ensures that the outgoing amount from one account is always added to the destination account. If for some reason the destination account cannot be accessed — say because the cryptographic signature is not valid — then the source account does not have its balance decremented.” The vagueness created by my use of passive voice makes it unclear who or what can’t access the account. It’s referring to the way the EVM validates transactions using digital signatures; it does not refer to a human user “losing access” by forgetting their private key. Bounty earned: 0.025 ETH (PAID — Tx hash)

Added May 28, 2017: Since the rise in price in Ether, several enterprising readers have scanned the entire book for errors. They get their own sub-sections below.

Bram Lemmerling

Close reading by Bram found several (shameful) copy-edit errors, a total of six. Bounty earned: 0.675 ETH (PAID — Tx hash, Tx hash, Tx hash)

On page 56 under the first paragraph.

“…, with a total of 21 million coins to be released from 2009 to 2024, and rewards halving every four years.”

The issuance of bitcoins will continue until May 7th 2140. Not the year 2024. This is confirmed by the source you added in the footnotes for this statement at the bottom of the page. You probably got the number 2024 from the projected bitcoin supply in the near future.

The full correction would be quite simple:

“…, with a total of 21 million coins to be released from 2009 to 2140, and rewards halving every four years.” (or) “…, with a total of 21 million coins to be released from 2009 to 2140, and block rewards halving every four years.”

  • This is a 0.125 ETH bounty for finding a non-technical error.

On page 57, halfway through the page.

“Recall that each time a new block is created, it is downloaded, processed, and validated by node on the network.”

This could be:

“Recall that each time a new block is created, it is downloaded, processed, and validated by all nodes on the network.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 71, the middle of page where you sum up 4 purposes.

“To nurture more-sustainable lifestyles”

It should be:

“To nurture more sustainable lifestyles”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 72, first paragraph.

“…; you’ll learn about these third parties and their approaches in later Chapter 11”

It should be:

“…; you’ll learn about these third parties and their approaches later in Chapter 11”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 73 under ‘Easy Deployment’.

“All the required smart contracts for the back-end of distributed app, also know as a dapp,..”

this should be either:

“All the required smart contracts for the back-end of a distributed app, also know as a dapp,..”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Also on page 73 under ‘Easy Deployment’.

“…, it will be able to far easier to host all the components of an application using the Ethereum protocol.”

Possible correction:

“…, it will be able to more easily host all the components of an application using the Ethereum protocol.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 75: Instructing the computer to count up from 0 to 10:

For (i=0; i<10; i++)

Correction: It counts to 9. The code to count up to 10 would be i<=10

  • This is a 0.100 ETH bounty for technical errors, mis-statements and malapropisms.

Page 83 : Bottom “Be careful with transfer in smart contracts.”

Correction: “Be careful with transfers in smart contracts.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 85: Middle “.. ,and not days have 24 hours.”

Correction: “.. ,and not all days have 24 hours.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 87: Middle “In general in Solidity, special functions are mainly be used to provide information about the blockchain,..”

Correction: “In general in Solidity, special functions are mainly used to provide information about the blockchain,..”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 87: Bottom, the 5th point down “Recovers address associated with..”

Correction: “Recovers addresses associated with..”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 91: Middle “Nevertheless, it can be said that cryptocurrency get their price from the marketplace.”

Correction: “Nevertheless, it can be said that cryptocurrencies get their price from the marketplace.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Reader “Bill”

Bill found a number of copy edit mistakes, and one embarrassing error in the JS in Chapter 1. Bounty earned: 1.025 ETH (paid — TX hash, TX hash)

On pages 10–11, the JavaScript code:

1. Commas are missing after the bakeTime and bakeTemp lines

2. A “+” is necessary between “Add “ and this.firstIngredient in the mixingInstructions function

3. bakeTemp and bakeTime should be this.bakeTemp and this.bakeTime in the mixingInstructions function.

  • This is a 0.15 ETH bounty for fixing project code.

On page 34, in the Note section:

“Take precautions, such as turning of the Automatic Login at Startup feature…”

The “of” should be “off”.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 50:

“The nodes go through the block they are process and run any code enclosed within the transactions.”

“Process” should be “processing.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 63, under the heading “Estimating Gas Fees for Operations”:

Transactions need to provide enough STARTGAS to cover all computation and storage. However, but there are many operations.

The “but” should be deleted.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

On page 83:

The section “Signed and Unsigned Integers” has the sentences:

“They can be negative if they have a sign, or minus, indicating they are signed. Unsigned integers are thus positive numbers.”

It would have been more precise to say:

“Signed integers (int) can be either positive or negative. Negative numbers can be indicated by a preceding minus sign (e.g., -4). Unsigned integers (uint) are always positive or zero.” (Zero is non-negative, but also not positive.)

  • This is a bounty of 0.025 ETH for vague or potentially misleading language.

Page 91:

“However, they are classified as property or currency in a handful countries.”

This sentence is missing an “of” (should be “… currency in a handful of countries.”)

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 94:

Under the section “The Function of Collectibles in Human Systems”:

“Ethereum and Bitcoin strikes at the heart of a problem that is tens of thousands of years old, which is that reputation-accounting a natural human behavior, but also an imperfect one.”

This should read “…which is that reputation-account is a natural human behavior..”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 105, the heading for figure 5–10 ends with “you’ll need to enter your token paramters.”

The final word should be spelled “parameters”.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 117, in the third paragraph under the section “All This for Faster Blocks?”:

“… the overall network is wasting roughly 10 percent of its haspower.”

The final word should be spelled “hashpower”.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 117:

“Block time can be compared to settlement time in a securities trading…”

That “a” should be removed (“… can be compared to settlement time in securities trading”).

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 129:

The “Note” at the top of the page has the first sentence “That running Geth and Mist at the same time will cause an error.”

“That” should be removed and it should just be “Running Geth and Mist at the same time will cause an error.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 128:

“An example is the personal and admin APIs, which exposes a method for access the file system, execute commands, and monitor your node remotely.”

This should be changed to “Some examples are the personal and admin APIs, which expose methods for accessing the file system, executing commands, and monitoring your node remotely.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 128:

“These APIs and follow the same conventions as used in the dapp API.”

The “and” should be removed: “These APIs follow the same conventions as used in the dapp API.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 136:

“The card denoted with an asterix (*)…”

The spelling should be “asterisk” (Asterix is the hero of a series of French comic book — http://www.asterix.com/)

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 139:

“During that war, Allied powers were able to intercept and crack enciphered messages transmitted in Morse code by the Axis powers Enigma machine…”

It should be “the Axis powers’” (trailing apostrophe).

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 141:

“The people who build cryptoeconomic systems (public blockchain developers) go about their days with a series of about about how these networks should work.”

I believe it should be “The people who build cryptoeconomic systems (public blockchain developers) go about their days with a series of assumptions about about how these networks should work.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 145:

The graph at the top of the page is extremely difficult to read on paper.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 146:

“… [S]o the network’s robustness is under less doubt every passing day[.]”

As published, the sentence is missing a period.

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Page 149:

“A distributed application, or dapp, shares some of the same ideals as the rest of the EVM protocol: the promise immutability.”

The final words should read “the promise of immutability.”

  • This is a 0.05 ETH bounty for grammatical errors, misspellings, and formatting issues.

Craig Salm

This intrepid reader garnered 23 errors in a marked-up PDF of the e-book. (I haven’t bothered to rewrite them all here.) He also offered many useful stylistic notes, for which I’ve awarded a 0.1 ETH bonus. Total bounty: 1.2 ETH (PAID — Tx hash)

Page 2: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 22: 0.025 ETH: Vague or potentially misleading language

Page 22: 0.100 ETH: Technical errors, mis-statements and malapropisms.

Page 34: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 49: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 50: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 53: 0.025 ETH: Vague or potentially misleading language

Page 55: 0.025 ETH: Vague or potentially misleading language

Page 61: 0.100 ETH: Technical errors, mis-statements and malapropisms.

Page 63: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 85: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 87: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 100: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 116: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 128: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 128: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 130: 0.025 ETH: Vague or potentially misleading language

Page 130: 0.025 ETH: Vague or potentially misleading language

Page 130: 0.025 ETH: Vague or potentially misleading language

Page 141: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 144: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 149: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

Page 151: 0.05 ETH: Grammatical errors, misspellings, and formatting issues.

A single golf clap? Or a long standing ovation?

By clapping more or less, you can signal to us which stories really stand out.