This is the code repository for Mastering Blockchain Programming with Solidity , published by Packt.
Write production-ready smart contracts for Ethereum blockchain with Solidity
Solidity is among the most popular and contract-oriented programming languages used for writing decentralized applications (DApps) on Ethereum blockchain. If you’re looking to perfect your skills in writing professional-grade smart contracts using Solidity, this book can help.
You will get started with a detailed introduction to blockchain, smart contracts, and Ethereum, while also gaining useful insights into the Solidity programming language. A dedicated section will then take you through the different Ethereum Request for Comments (ERC) standards, including ERC-20, ERC-223, and ERC-721, and demonstrate how you can choose among these standards while writing smart contracts. As you approach later chapters, you will cover the different smart contracts available for use in libraries such as OpenZeppelin. You’ll also learn to use different open source tools to test, review and improve the quality of your code and make it production-ready. Toward the end of this book, you’ll get to grips with techniques such as adding security to smart contracts, and gain insights into various security considerations.
By the end of this book, you will have the skills you need to write secure, production-ready smart contracts in Solidity from scratch for decentralized applications on Ethereum blockchain.
This book covers the following exciting features:
- Test and debug smart contracts with Truffle, Ganache, Remix, and MetaMask
- Gain insights into maintaining code quality with different tools
- Get up to speed with ERC standards such as ERC-20 and ERC-721
- Become adept at using design patterns while writing smart contracts
- Use MultiSignature (MultiSig) wallets and improve the security of contracts
- Use Oracle services to fetch information from outside the blockchain
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
contract VariableStorage {
uint storeUint; //uint256 storage variable
//...
}
Following is what you need for this book: This book is for developers and data scientists who want to learn Ethereum, blockchain, and Solidity to write smart contracts and develop production-ready code. Basic knowledge of Solidity is assumed.
With the following software and hardware list you can run all code files present in the book (Chapter 1-14).
Chapter | Software required | OS required |
---|---|---|
4 | Nodejs v8.3.0, MetaMask v6.0.1 internet browser plugin, Remix IDE v0.7, remixd latest version | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
5 | Ganache GUI v2.0.0, Ganache CLI v6.4.4, Truffle v5.0 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
6 | Surya v0.2.8, Solhint v2.0.0, Solium v1.2.3, solidity-coverage v0.5.11 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
9 | OpenZeppelin (openzeppelin-solidity) v2.1.1, Truffle v5.0.0, Nodejs v8.9.4 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
10 | Truffle v3.4.11+, MetaMask v6.3.1 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
11 | Truffle v5.0.4, Nodejs v8.9.4, ganache-cli v6.4.4, zos v2.3.1, zos-lib v2.3.1, openzeppelin-eth v2.3.1 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
12 | Nodejs v8.11.3, OpenZeppelin (openzeppelin-solidity) v2.2.0, Truffle v5.0.4, MetaMask v6.3.1, Truffle HD wallet provider (truffle-hdwallet-provider) v1.0.6, OpenZeppelin Test Hepler (openzeppelin-test-helpers) v0.3.1, Chai test framework v4.2.0, Big Number (big-number) v2.0.0, ganache-cli v6.4.4 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
14 | Truffle v5.0.10, Nodejs v8.11.3 | Ubuntu 14.04+/ CentOS 6+ / RHEL 7+ / Windows 7+ / MacOS 10+ |
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.
Jitendra Chittoda is a blockchain security engineer at ChainSecurity. His day job is to perform security audit on smart contracts and expose security vulnerabilities in Solidity and Scilla contracts. He has also developed a non-custodial, decentralized, P2P lending contracts for ETHLend. The Solidity contracts that he has developed or audited handle over $100 million worth of cryptoassets. He also served as a tech and security advisor in various ICO projects. Before finding his passion for blockchain, he coded in Java for over 11 years. He is the founder and leader of Delhi-NCR-JUG, a non-profit meetup group for Java. He holds a master's degree in computer applications and is regularly invited as a speaker at various conferences and meetups.
Click here if you have any feedback or suggestions.
If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.
Simply click on the link to claim your free PDF.