This second course of the Blockchain specialization will help you design, code, deploy and execute a smart contract – the computational element of the blockchain technology. Smart contracts allow for implementing user-defined operations of arbitrary complexity that are not possible through plain cryptocurrency protocols. They allow users to implement conditions, rules and policies of the domain applications. Smart contracts are a powerful feature that, when properly designed and coded, can result in autonomous, efficient and transparent systems.
You will design and program smart contracts in Solidity language, test and deploy them in the Remix development environment, and invoke them from a simple web interface that Remix provides. This course features best practices for designing solutions with smart contracts using Solidity and Remix IDE.
Main concepts are delivered through videos, demos and hands-on exercises.
Smart Contract Basics
The purpose of this module is to introduce the reasons for a smart contract and its critical role in transforming blockchain technology from enabling decentralized systems. We will explore the structure and basic concepts of a smart contract through examples, and illustrate Remix (remix.ethereum.org) web IDE for deploying and interacting with a smart contract.
Putting it all Together
This module focuses on the development of the Ballot smart contract incrementally to illustrate various features including time dependencies, validation outside the function code using access modifiers, asserts and require declarations, and event logging.
This module will focus on best practices including evaluating whether a blockchain-based solution is suitable for your problem, designing Solidity smart contracts, and those relating to Remix IDE.