Solidity Smart Contract Development

Beginner

Start here if you’re new to writing smart contracts! Learn Solidity programming language and smart contract development from industry-leading experts. Kickstart your career as a web3 developer.


1. Welcome To Solidity Fundamentals
A comprehensive guide to Solidity Fundamentals - This lesson explores the world of Solidity as the most dominant smart contract programming language. Learn how to code and work with Solidity to become a smart contract developer, security researcher, or enter the blockchain world as a technical person. Duration: 1min
2. Best Practices
A comprehensive guide to best practices for using Cyfrin Updraft. The lesson covers how to best utilize the Cyfrin Updraft resources including the Github repo, Discord, and the platform's built-in forums to ensure a better learning experience. You will also learn tips on how to effectively work with artificial intelligence to ensure the best results and how to pace yourself when going through the curriculum. Duration: 7min
3. Introduction
This lesson provides an introduction to the course, guiding students through accessing and navigating the GitHub repository, understanding the usage of the repository for cloning lesson codes, and engaging in discussions. It also covers the importance of asking questions and setting up for coding, including accessing educational resources and preparing for building and deploying a smart contract. Duration: 3min
4. Setting up your first contract
A beginner's guide to creating a Solidity smart contract using Remix IDE. The lesson covers the basics of setting up a Solidity development environment, including creating a new file, writing the contract, understanding SPDX License Identifier, and compiling the contract. Duration: 10min
5. Quiz: Simple Storage Intro Quiz
Questions: 3
6. Basic variable types
This lesson introduces basic variable types in Solidity, such as Boolean, Uint, Integer, Address, and Bytes. It explains how to define variables in a Solidity contract and their default values, providing a foundational understanding of data types in smart contract programming. Duration: 8min
7. Functions
This lesson focuses on creating functions in Solidity, specifically a 'Store' function for updating a variable. It explains the syntax and structure of functions, including visibility specifiers, and guides students through deploying and interacting with the smart contract using the Remix IDE. Duration: 19min
8. Arrays and structs
This lesson explores the use of arrays and structs in Solidity for creating a list of favorite numbers and tying them to individuals. It demonstrates how to create and manipulate arrays and structs, enhancing the functionality of a smart contract to handle multiple data entries. Duration: 12min
9. Errors and warnings
A guide to understanding and resolving errors and warnings in Solidity programming. The lesson covers interpreting the color coding of error messages, leveraging online resources like Phind, and effectively using communities like GitHub discussions and Stack Exchange for problem-solving. Duration: 5min
10. Memory storage and calldata
An in-depth look at data locations in Solidity, focusing on the differences and applications of 'memory', 'storage', and 'calldata'. The lesson explains these concepts with examples, clarifying their roles in temporary and permanent data storage within smart contracts. Duration: 6min
11. Mappings
This lesson introduces the concept of mappings in Solidity, explaining how they can be used to efficiently link information, such as connecting names to numbers. It demonstrates how to define and use mappings to improve data access in a smart contract. Duration: 4min
12. Deploying your first contract
A practical guide to deploying a Solidity smart contract on a testnet. The lesson walks through the pre-deployment audit, compilation check, changing the environment, connecting accounts, confirming transactions, and interacting with the deployed contract. Duration: 10min
13. Quiz: Simple Storage Mid Section Recap Quiz
Questions: 9
14. Zksync Deploying
A comprehensive guide to deploying your smart contracts to the zkSync testnet using the zkSync Bridge - This lesson covers how to use zkSync faucets to get testnet ETH and the zkSync Bridge to transfer it to your zkSync wallet. This is important because deploying contracts to Ethereum mainnet is expensive, and zkSync provides a much more affordable option. Duration: 2min
15. Zksync Bridging
A step-by-step guide to bridging from the Ethereum Sepolia testnet to the zkSync Sepolia testnet. This lesson walks you through using the zkSync bridge and Chainlist website to successfully bridge Sepolia ETH to zkSync Sepolia for use in deploying smart contracts. You will also learn how to add the zkSync Sepolia network to your MetaMask wallet. Duration: 6min
16. Zksync Plugin
A comprehensive guide to deploying a simple Solidity contract to zkSync Testnet using the zkSync Remix plugin. This lesson walks you through the process of activating the zkSync plugin in Remix, setting up the correct environment, compiling the contract with the appropriate solidity version, deploying and verifying the contract on zkSync, and finally verifying the contract on the zkSync block explorer. Duration: 7min
17. zkSync Plugin Fix
A helpful fix for the zkSync plugin - zkSync plugin works when the smart contract is stored within a folder named contracts. This video demonstrates the simple steps to fix the bug. Duration: 1min
18. Zksync Interactions
A step-by-step guide to interacting with a zkSync smart contract using Remix IDE. The lesson demonstrates deploying a smart contract to the zkSync testnet and then using Remix to interact with it, testing functions such as storing and retrieving data. Duration: 1min
19. Share
A comprehensive guide to deploying a Solidity smart contract to the zkSync Testnet. Learn how to deploy your first smart contract and share your accomplishment with the zkSync community using a custom tweet button found on the course’s GitHub page. Duration: 1min
20. Section recap
A recap of the section, emphasizing the understanding and workings of the Ethereum Virtual Machine (EVM) and its compatibility with various blockchains. The lesson revisits the essentials of writing a smart contract, types and structures in Solidity, functions, data locations, and the importance of continued learning in Solidity development. Duration: 3min

Course Overview

About the course

Course Description

Last updated on December 21, 2024

Learning path

Solidity Developer

View all courses

Blockchain Basics

Beginner
Blockchain Basics

Introductory blockchain developer course. Learn how blockchains and smart contracts work, and how to sign your first transaction. Whether you’re new or are a seasoned developer, there’s something here for you.

3hrs
23 lessons
1 project

Solidity Smart Contract Development

Beginner
Solidity Smart Contract Development

Start here if you’re new to writing smart contracts! Learn Solidity programming language and smart contract development from industry-leading experts. Kickstart your career as a web3 developer.

5hrs
65 lessons
3 projects

Foundry Fundamentals

Intermediate
Foundry Fundamentals

Learn Foundry for Solidity and level up your Solidity developer skills. Discover advanced web3 development concepts and tools in the Foundry Fundamentals course. Learn Foundry Forge and Anvil, Chainlink Blockchain oracles, smart contract testing, and how to spin up local networks.

10hrs
112 lessons
3 projects

Advanced Foundry

Intermediate
Advanced Foundry

Learn advanced Foundry for Solidity smart contract development. Master web3 development techniques to write, deploy, test, optimize, and interact with your smart contracts using industry-standard tools. Lessons taught by the top smart contracts engineers in web3.

13hrs
154 lessons
4 projects

Smart Contract Security

Advanced
Smart Contract Security

Start your career as a smart contract security researcher! Learn smart contract auditing and the best practices for writing secure and optimized protocols. Explore fuzzing, invariant testing, and formal verification to identify bugs and protect web3 protocols.

24hrs
270 lessons
6 projects

Assembly and Formal Verification

Advanced
Assembly and Formal Verification

Learn exactly how the solidity compiler and opcodes work. Write contracts using Assembly and Yul, then learn how to write formal verification tests to guarantee your invariants hold.

11hrs
152 lessons
3 projects

Smart Contract DevOps

Advanced
Smart Contract DevOps

Following web3 DevOps guidelines and keeping an eye on smart contracts after they're live is key to making protocols and their users, safer. This course teaches you the best practices when dealing with web3 wallets and post-deployment security, teaching you how to keep smart contracts under control, even after they've been launched.

2hrs
22 lessons
1 project

Curve Stableswap

Advanced
Curve Stableswap

Learn Curve Stableswap and take your smart contract developer and security researcher skills to the next level. Curve Stableswap is an advanced, DeFi developer specialization course taught by top smart contract engineer, ProgrammerSmart. It covers how Curve finance works, AMM and math, curves, liquidity pools, swaps, and more.

2hrs
48 lessons
0 projects

Uniswap V2

Advanced
Uniswap V2

Learn Uniswap v2 and level up your skills as a smart contract developer and security researcher with this advanced, deep dive specialization course on the Uniswap v2 contracts, router, Factory, liquidity pools, and much. Lessons taught by top smart contracts engineer, ProgrammerSmart.

6hrs
75 lessons
0 projects

Testimonials

Students Reviews

Read what our students have to say about this course.

Chainlink

Chainlink

Chainlink

Gustavo Gonzalez

Gustavo Gonzalez

Solutions Engineer at OpenZeppelin

Francesco Andreoli

Francesco Andreoli

Lead Devrel at Metamask

Albert Hu

Albert Hu

DeForm Founding Engineer

Radek

Radek

Senior Developer Advocate at Ceramic

Boidushya

Boidushya

WalletConnect

Idris

Idris

Developer Relations Engineer at Axelar

Cyfrin
Updraft
CodeHawks
Solodit
Resources