What's in This Book?

This section borrows code and code examples from throughout the internet to explain some of the key concepts of blockchain and Solidity development. The code has been commented on, explained, and updated as needed. Special thanks to these authors for helping the blockchain community more approachable through the code and blogs that they created - [StephenGrider](https://github.com/StephenGrider/EthereumCasts), [Savjee](https://www.savjee.be/2017/07/Writing-tiny-blockchain-in-JavaScript/), [Xavier Decuyper](https://www.codementor.io/@savjee/how-to-build-a-blockchain-with-javascript-part-1-k7d373dtk), and [Alibaba Cloud](https://www.alibabacloud.com/blog/build-your-own-blockchain-with-javascript_595314) - thank you for the inspiration!

In this course, we'll jump straight into writing our first smart contract with Remix. Once we're comfortable writing Solidity smart contracts, we'll learn how to handle more complex features of the Solidity smart contract language with which to write code that can be useful to people around the world. Once we have a smart contract that we are happy with, we can compile it, deploy it, and learn how to use libraries like Truffle, web3.js and ethers.js to interact with our smart contracts once they live on the Ethereum blockchain.

We will also look at getting our smart contract working on various Ethereum blockchains (i.e. local blockchains, test networks).

Details#

Let's break down what we will be covering during this course. There will be two major sections, each comprising two to three modules explaining the key concepts behind building a fullstack Ethereum application.

This section borrows code and code examples from throughout the internet to explain some of the key concepts of blockchain and Solidity development. The code has been commented on, explained, and updated as needed. Special thanks to these authors for helping the blockchain community more approachable through the code and blogs that they created - StephenGrider, Savjee, Xavier Decuyper, and Alibaba Cloud - thank you for the inspiration!

The first section will introduce some key blockchain fundamentals, explore some of the more detailed nuances around the Ethereum blockchain, and then get you writing and deploying smart contracts to a blockchain network.

Some of the key goals for this section will be:

  • writing a blockchain in JavaScript from scratch

  • inbox smart contract

  • money game smart contract

Once you understand what it means for a smart contract to exist on a blockchain network, you can dive into the next section, where you will learn some of the best practices in the smart contract space to design and develop an ERC 20 token smart contract. An ERC 20 token smart contract is a token (like bitcoin) that can hold value and be sent and received.

This section borrows audited code from OpenZeppelin. This organisation focuses on enabling developers to use battle tested smart contracts to create other smart contracts.

  • write and use ERC-20 token smart contracts

As tokens are created on the Ethereum blockchain, you can exchange ether for a token. A token can be a digital asset that is being built on the Ethereum blockchain. An example of a token can be a representation of gold on the Ethereum blockchain as digital gold. Another example of a token can be a company stock like TSLA for Tesla.

No discussions yet