Code Monkey home page Code Monkey logo

mastering-blockchain-programming-with-solidity's Introduction

Mastering Blockchain Programming with Solidity

Mastering Blockchain Programming with Solidity

This is the code repository for Mastering Blockchain Programming with Solidity , published by Packt.

Write production-ready smart contracts for Ethereum blockchain with Solidity

What is this book about?

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!

https://www.packtpub.com/

Instructions and Navigations

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).

Software and Hardware List

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.

Related products

Get to Know the Author

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.

Suggestions and Feedback

Click here if you have any feedback or suggestions.

mastering-blockchain-programming-with-solidity's People

Contributors

akshadai avatar jchittoda avatar packt-pradeeps avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.