logoAcademy

Welcome to the course

Learn the basics about programming Smart Contracts in Solidity for an EVM Blockchain

In this course, you will learn how to build Solidity dApps on Avalanche.

Why Take This Course?

A significant innovation in blockchain is the development of multi-chain systems, like Avalanche, which provide a significant improvement in scalability, interoperability, and flexibility. While a blockchain on Avalanche can be run with any VM, the most prominent choice currently is the Ethereum Virtual Machine (EVM). Users can deploy their own logic in the form of smart contracts to the EVM.

These smart contracts can be written in Solidity. Learning Solidity can enable you to leverage the features of blockchain for your dApp.

Course Content

Smart Contracts

In the first section, we will look at what smart contracts are, their basic structure and how they work.

Hello World Part I

In this section we will look at the primitive types (strings, integers, bool, ...) and function as well as the Solidity file structure.

Hello World Part II

We will look at control flows (if & else), data structures and constructors. Furthermore, we learn about inheritance from other contracts and modifiers and events.

Contract Standardization

You will learn how contracts can be standardized and how inheritance and interfaces can help us to do so.

Prerequisites

Blockchain / Web3

This course is meant for people with a some experience when it comes to web3. You should be familiar with these concepts:

  • Wallet: What they are and how to create one
  • dApp: What a decentralized application is and how to interact with one

If any of this is unclear, we strongly recommend taking the Avalanche Fundamentals and Subnet Architecture courses first, that give a soft introduction into these topics from a user stand point.

Software Development

You will need a general understanding of Software Development. Therefore, we recommend:

  • Programming: Familiarity with most basic concepts of programming, such as variables, control flows (if, else) and loops. All exercises will consist of writing small contracts in Solidity.
  • IDE: It will help if you're generally familiar with the concept of an integrated developer environment. We will be leveraging Remix.

Learning Outcomes

By the end of this course, students will:

  • Interact and Deploy contracts using Foundry
  • Get familiar with ERC20 and ERC721 token standards
  • Understand important concepts such as inheritance, modifiers, and events.
  • Apply their knowledge by building their own smart contracts.

On this page