The Updraft 2024 update is here✨ All courses are now updated to the latest tools and best practices 🚀

eth logo eth logo

Solidity Smart Contract Development

Solidity Smart Contract Development

Beginner

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

Avatar 6Avatar 9Avatar 4Avatar 5Avatar 3

500+ users have taken this course.


Course Details

5hrs
59 lessons
3 projects
5+ languages

Last updated on July 16, 2024

1. Welcome To Solidity Fundamentals
Duration: 1min
2. Best Practices
Duration: 7min
3. Introduction
Duration: 3min 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.
4. Setting up your first contract
Duration: 10min 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.
5. Basic variable types
Duration: 8min 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.
6. Functions
Duration: 19min 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.
7. Arrays and structs
Duration: 12min 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.
8. Errors and warnings
Duration: 5min 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.
9. Memory storage and calldata
Duration: 6min 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.
10. Mappings
Duration: 4min 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.
11. Deploying your first contract
Duration: 10min 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.
12. Zksync Deploying
Duration: 2min
13. Zksync Bridging
Duration: 6min
14. zkSync Plugin Fix
Duration: 1min
15. Zksync Plugin
Duration: 7min
16. Zksync Interactions
Duration: 1min
17. Share
Duration: 1min
18. Section recap
Duration: 3min 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.

Course Overview


What you'll learn

Blockchain developer fundamentals
Introduction to blockchain gas
Transaction signatures
Smart contract development
Solidity gas optimization techniques

Course Prerequisites

  • Blockchain Basics

Course Description

Cyfrin Updraft’s solidity course will teach you how to become a smart contract developer. Learn one of the most in-demand skills of this year!

100 days, 1 hour per day, learn to build with projects, get hands-on experience, learn Solidity smart contract development.

Cyfrin Updraft’s Learn Solidity course is the most comprehensive, most straightforward introduction to Solidity smart contract development ever created. Over 200,000 students have learned how to develop smart contracts following the course.

Whether you have never programmed, know the basic syntax of smart contract code, or want to dive deeper into web3 development, this is the course for you!

This comprehensive online course contains over 40 lectures, over 5 hours of video, and projects to help you learn. It provides the foundational skills you need to move into more advanced smart contract development and security concepts.

This course is your first step from beginner to professional, even with zero programming experience. Here's why:

  • The world’s leading solidity smart contract developers and educators in web3 teach the course.
  • The course is updated regularly to teach you the latest tools, technologies, and development frameworks.
  • You will learn real-world skills used at large companies and protocols.
  • Researchers developed the curriculum over 2 years leveraging comprehensive student testing, feedback, and reviews.
  • Over 200,000 students have learned to write secure smart contracts using this course. Many have changed their lives and became professional web3 developers or started a protocol.
  • You'll save over $10,000. The course is completely free, giving you full access to the industry-leading web3 development course.
  • The course is constantly updated with new content, projects, and modules!

We'll take you step-by-step through the process of developing smart contracts. Engaging video tutorials teach you everything you need about the solidity programming language. We also show how to succeed as a Solidity developer.

The Solidity smart contract fundamentals course is project-based and designed to help you become a smart contract developer. It includes quizzes, tests, exercises, assignments, and projects designed to help you build a portfolio of Solidity smart contracts!

Building real-world Solidity examples helps you begin your journey to become a smart contract developer. Work with testnets, test your codebase, and create a front end to connect your wallet and interact with your smart contracts.

The course helps you learn Solidity in a practical manner. Every lecture has a full coding screencast and written lessons to learn from. Choose the method that fits you best!

We start by getting familiar with Solidity and using Remix to set up your Solidity smart contract development environment. Regardless of your operating system—Linux, MacOS, Windows—we've got you covered.

We cover a wide variety of topics, including:

  • Introduction to Solidity
  • Introduction to smart contracts development
  • Introduction to smart contracts deployment
  • Introduction to blockchain oracles
  • Introduction to smart contracts testing

By the end of this course, you will be ready to be a Solidity smart contract developer!

You will get lifetime access to over 40 lectures, corresponding resources, and repositories!

So what are you waiting for? Learn Solidity smart contract development and kickstart your career as a web3 developer!


Who is this course for?

  • Software engineers
  • Web3 developers
  • Finance professionals
  • Security researchers
  • CTOs

Potential Careers

Smart Contract Auditor Smart Contract Engineer Web3 Developer Relations Web3 developer

Solidity Developer

Solidity Developer path

Blockchain Basics

Blockchain Basics

Beginner

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

Current

Solidity Developer path

Solidity Smart Contract Development

Solidity Smart Contract Development

Beginner

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

Solidity Developer path

Foundry Fundamentals

Foundry Fundamentals

Intermediate

Learn advanced web3 development concepts like Chainlink Blockchain oracles, smart contracts testing, spinning up local networks, and industry-leading tools like Foundry Forge and Anvil.

Solidity Developer path

Advanced Foundry

Advanced Foundry

Intermediate

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

Solidity Developer path

Smart Contract Security

Smart Contract Security

Advanced

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.

Solidity Developer path

Assembly and Formal Verification

Assembly and Formal Verification

Advanced

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.

Solidity Developer path

Smart Contract DevOps

Smart Contract DevOps

Advanced

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.


Meet your instructors

Patrick Collins

Patrick Collins

Founder at Cyfrin

Web3 engineer, educator, and Cyfrin co-founder. Patrick's smart contract development and security courses have helped hundreds of thousands of engineers kickstarting their careers into web3.

Austin Griffith

Austin Griffith

Builder at Buidl Guidl

Builder, Educator, and creator of the Buidl Guild where, with the Ethereum Foundation, succesfully taught Web3 development to thousands of developers world-wide.


Testimonials

Students Reviews

Read what our students have to say about this course.

If there’s one resource that Web3 developers point to, it’s Cyfrin’s ultimate tutorials. They’re standout resources that have empowered countless developers to learn blockchains, learn Solidity, and dive deep into Web3 development.

Chainlink

Chainlink

Chainlink

We can build systems for Ethereum scaling but without education, it’s all for nothing. Updraft is the first step towards adoption for Web3 education. We can now mint security focused developers at scale!

Tony Olendo

Tony Olendo

Lead Devrel Engineer, Polygon

Cyfrin's course was a cornerstone of my journey into Web3, providing me with the fundamentals and hands-on experience that have been pivotal to my journey in the blockchain space.

Raza

Raza

Lead Developer Relations, Scroll

Cyfrin Updraft videos on smart contract development have been instrumental in my blockchain journey, standing out with their clarity and accessibility. Their readiness to support and engage with learners makes me excited for more of their interactive and insightful content in the Web3 space

Francesco Andreoli

Francesco Andreoli

MetaMask

I took Cyfrin course and I’ve been working as a solutions developer at OpenZeppelin for the last few months. It was by far the most comprehensive resource and the one that really teached me the fundamentals and made me want to switch from web2 to web3

Gustavo Gonzalez

Gustavo Gonzalez

Solutions Engineer, OpenZeppelin

The Cyfrin courses were a game-changer for me. They provided a well-structured and comprehensive introduction to web3 and blockchain development. The knowledge I gained allowed me to transition into a full-time role as a blockchain developer. I can't recommend these courses enough!

Albert Hu

Albert Hu

DeForm Founding Engineer

I took Cyfrin’s courses, and I took them seriously. At least one hour every day, documented the progress, didn’t skip any second. Haven’t found a better web3 course since. Now I’m full-time in web3, working as Senior Developer Advocate at Ceramic Network.

Radek

Radek

Senior Developer Advocate, Ceramic

Cyfrin have been an absolute game-changers in my journey into blockchain. Saying their courses were remarkable, would be an understatement. Thanks to their expert guidance, I gained a deep understanding of blockchain to its roots. I'm forever grateful for their role in helping me get started in web3.

Boidushya

Boidushya

WalletConnect

Cyfrin blockchain and Foundry/AI courses were incredible. I've gained valuable knowledge, grown, empowering myself and others. Thank you, Cyfrin!

Idris

Idris

Developer Relations Engineer, Axelar