Errata

Hands-On Smart Contract Development with Solidity and Ethereum

Errata for Hands-On Smart Contract Development with Solidity and Ethereum

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.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Online, no page numbers
multiple

.
I could not get the react app created by the truffle unbox react command to
run. I had to change the react version in package.json to 16.6.3 to get it
to run.

2. The chapter does not say anything about the openZepplin library though
it is required for the application to run. There is no instruction to
install it in this chapter. I used instructions from an earlier chapter.

3. Another issue is the port #. It is not 9545. It is 8545. Also, if and
when you modify a contract and re-migrate it, the changes were not getting
recognized until you shut down and restart the private network created by
the 'truffle develop' command. It occurred to me that i could use the
''--reset' but i never tried it.

4. Finally, the biggest problem i had was with the submit handler. It is
the biggest beucase I spent nearly an hour to figure out why the
setGreeting was not working. Finally, I got it to work by replacing

const updateGreeting = await contract.methods.setGreeting(greeting);
with
const updateGreeting = await contract.methods.setGreeting(greeting).send({
from: accounts[0]});

Anonymous  Jan 03, 2020 
Chap 5
Chapter 5

Hello there,

There are several mistakes in Chapter 5 of "Hands-On Smart Contract Development with Solidity and Ethereum" by Kevin Solorio, Randall Kanna, David H. Hoover.

And I didn't see any fix for this issue on the errata page.

Referencing the online book from oreilly.com at this URL: https://learning.oreilly.com/library/view/hands-on-smart-contract/9781492045250/ch05.html

The book states:

Now let’s copy the client code from Chapter 9 into our Greeter project:

$ cp -r hoscdev/chapter-9/client greeter/client

Unfortunately, there is no "client" directory within the chapter 9 sources. Can you advise on what the correct steps are to setup the project for this chapter?

Also missing are the needed steps to property get the NPM dependencies installed.


While I'm here, instructions prior to the cp command above say to type this:

# go to the directory containing our greeter project
$ cd ..
# clone the repo
$ git clone git@github.com:RedSquirrelTech/hoscdev.git

That git clone command won't work. Correct way to clone the repo is this:

$ git clone https://github.com/RedSquirrelTech/hoscdev.git


Thanks,
jrs

John Selbie  Sep 21, 2020 
PDF Page All
All

I have been struggling through the first chapters of the book and am finding errors all the time. I can conform all errors of the unconfirmed errata.
I know that Linux developers keep changing everything all the time and this type of book would need to be reviewed at least every 3 months.
Just 2 cents. take care.

Jota Pascoa  Apr 24, 2021 
ePub Page Page 47
Function names

When listing the mandatory functions for implementation. They are named “setTransfer” instead of “safeTransfer”. A minor mistake really.

Anonymous  Jan 17, 2024 
Other Digital Version 1
1

Book references Parity client which has since been renamed OpenEthereum
Book uses Goerli testnet which requires download of an enormous amount of blockchain data, enough to overwhelm most users (well over 100GB)
Book uses git references such as chapter-9/client that actually do not exist in Git

MARK F NOVAK  Jun 28, 2021 
Printed Page 32
Command following 4th paragraph

When I run the command: $ bash <(curl https://get.parity.io -L) I get a message "Could not resolve host". I think the name of the Parity client has changed to OpenEthereum with a different URL, although I'm not certain here.

Dominic Duffin  Jul 22, 2020 
Other Digital Version 51
Chapter 3: Installing Parity

The very first command we're told to run to get Parity from get.parity.io doesn't work, because that URL must have changed. Can you please fix this? This is in the Kindle version of the ebook.

Anonymous  Jan 09, 2021 
Printed Page 68
Middle of page

$ npm install open zeppelin-solidity

The command fails because project.json is not created by ‘truffle init’. A work-around is to run ‘npm init’ first, and enter the information requested.

Anonymous  Mar 08, 2022 
Other Digital Version 89
Setting Up the UI in Chapter 5


I get this error when I run "npm run start"


Unhandled Rejection (Error): This contract object doesn't have address set yet, please set an address first.
▼ 3 stack frames were expanded.
ContractNoAddressDefinedError
node_modules/web3-core-helpers/lib/errors.js:125
_processExecuteArguments
node_modules/web3-eth-contract/lib/index.js:808
_executeMethod
node_modules/web3-eth-contract/lib/index.js:825
▲ 3 stack frames were expanded.
_callee2$
src/App.js:38
35 | }
36 | };
37 |
> 38 | runExample = async () => {
| ^ 39 | const { accounts, contract } = this.state;
40 | const response = await contract.methods.greet().call()
41 |
View compiled
▶ 28 stack frames were collapsed.
_callee$
src/App.js:28
25 |
26 | // Set web3, accounts, and contract to the state, and then proceed with an
27 | // example of interacting with the contract's methods.
> 28 | this.setState({ web3, accounts, contract: instance }, this.runExample);
| ^ 29 | } catch (error) {
30 | // Catch any errors for any of the above operations.
31 | alert(
View compiled

Anonymous  Sep 07, 2021 
PDF Page 234
./net-pln.sh createChannel command is not working properly

when I try to run the ./net-pln.sh createChannel command results in channel creation failed and it gives some config type of error and tls error.
I'm being trying to run the Network but all in vain.

Amna Riaz  Jan 06, 2022