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.

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

What you'll learn

Blockchain developer fundamentals

Introduction to blockchain gas

Transaction signatures

Smart contract development

Solidity gas optimization techniques

Course Description

Who is this course for?

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

Potential Careers

Smart Contract Auditor

$100,000 - $200,000 (avg. salary)

Smart Contract Engineer

$100,000 - $150,000 (avg. salary)

Web3 Developer Relations

$85,000 - $125,000 (avg. salary)

Web3 developer

$60,000 - $150,000 (avg. salary)

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.

Last updated on November 25, 2024

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