Welcome

A comprehensive introduction to Vyper smart contract development - This lesson covers the basics of Vyper, a secure and easy-to-learn smart contract language based on Python. Learn about its advantages, and how it compares to Solidity, as well as best practices for developing secure smart contracts.

1. Welcome
A comprehensive introduction to Vyper smart contract development - This lesson covers the basics of Vyper, a secure and easy-to-learn smart contract language based on Python. Learn about its advantages, and how it compares to Solidity, as well as best practices for developing secure smart contracts. Duration: 5min
2. Best Practices
A detailed guide to best practices for getting the most out of the course, including navigating Cyfrin Updraft, using the GitHub Repo, and interacting with the community. Duration: 8min
3. Mox Best Practices
A comprehensive guide to best practices for the Vyper & Moccasin course. The lesson covers how to navigate the course repository, leverage the discussions tab for assistance, and understand the importance of GitHub for smart contract developers. Duration: 2min
4. Walkthrough
A practical guide to deploying your first Vyper smart contract - This lesson will walk you through deploying your first Vyper smart contract using the Remix IDE. It covers the basics of the Remix IDE and how to deploy your contract, as well as best practices for building smart contracts. Duration: 1min
5. Welcome To Remix
A comprehensive guide to using the Remix IDE, focusing on building a Vyper smart contract. The lesson covers activating the Vyper compiler, creating a new file, typing code, and understanding the basics of smart contracts. Duration: 6min
6. Pragma Version
A quick guide to Pragma Version in Vyper - This lesson covers the importance of specifying the version of Vyper in your smart contract. Learn how to use the Pragma statement, different version specification methods, and how it helps ensure compatibility with your compiler. Duration: 2min
7. Comments
A simple guide to comments in Vyper - This lesson will teach you the basics of comments in Vyper. We'll cover the functionality of comments, how they are written in Vyper, and why they are a crucial tool in Vyper programming. Duration: 1min
8. License
A helpful introduction to Vyper license identifiers - This lesson explains the importance of including a license identifier in Vyper code. It specifically covers the widely used MIT license and how it allows others to use and modify the code. Duration: 1min
9. Compiling
A basic introduction to compiling Vyper smart contracts. The lesson covers the fundamentals of compiling, including version specifications and license identifiers, and provides a real-time demonstration of how errors are handled. Duration: 2min
10. Contract Design
A basic Vyper smart contract to create a favorites list - This lesson shows how to create a simple smart contract that stores favorite numbers and people with their favorite numbers. It includes using mapping and structs in Vyper. Duration: 1min
11. Vyper Types
A comprehensive guide to basic value types in Vyper. The lesson covers Booleans, Signed Integers, Unsigned Integers, Decimals, Addresses, and Bytes arrays, while providing a brief explanation of their use and syntax. Duration: 4min
12. Visibilitiy
A comprehensive introduction to variable visibility and deployment within the Remix IDE. The lesson delves into declaring public variables in Vyper, understanding the implications of visibility, and deploying your smart contract to the Remix Virtual Machine. Duration: 4min
13. Functions
A simple guide to defining functions in Vyper. The lesson covers the syntax for defining functions using the `def` keyword, specifying parameters, and using the `self` keyword to access variables in the contract. Duration: 5min
14. Func Visibility
A comprehensive guide to understanding function visibility in Vyper. The lesson covers the concepts of internal, external, and public visibility decorators, explaining how they control access to functions and state variables. It also demonstrates the impact of visibility on function calls and contract deployment. Duration: 2min
15. View And Pure
A comprehensive introduction to the '@view' and '@pure' decorators in Vyper, a language similar to Solidity for smart contract development on Ethereum. The lesson covers key concepts such as the difference between static calls and transactions, how they affect gas usage, and when to use '@view' and '@pure' in your smart contracts. Duration: 9min
16. Constructor
A comprehensive guide to constructors in Vyper smart contracts, covering their purpose, how they are defined, and how to use them effectively. This lesson will provide you with a clear understanding of constructors and their role in setting initial values for your Vyper contracts. Duration: 5min
17. Advanced Funcs
A practical guide to more advanced functions in Vyper - This lesson covers the syntax for declaring external functions and the purpose of the @external and @pure keywords. It also shows examples of how to write functions that take multiple outputs and the use of the 'pass' keyword. Duration: 4min
18. Ref Types
A comprehensive guide to reference types in Vyper. The lesson explores the concepts of fixed-size lists, dynamic arrays, mappings, and structs, providing practical examples and demonstrating how to read and write to these data types. Duration: 8min
19. Claude
A comprehensive introduction to using Claude 3.5, an AI agent, as a coding tutor. This lesson covers asking questions, declaring public arrays in Vyper, and exploring the functionality of AI assistants. Duration: 3min
20. Arrays Lists
A practical Vyper tutorial on working with arrays and lists in your smart contracts. The lesson demonstrates how to create an array of a specific size and update its elements using external functions. Duration: 9min
21. Structs and Strings
A comprehensive guide to working with structs and strings in Vyper. The lesson covers creating structs to define custom types, using them to store data like names and favorite numbers, and working with fixed-size strings in your Vyper code. Duration: 8min
22. Workshop
A fun workshop to test your Vyper knowledge. The challenge requires you to modify a Vyper smart contract to return a specific value based on an array of people and their corresponding numbers. Duration: 1min
23. Hash Map
A powerful introduction to using Hash Maps (Mapping) in Vyper smart contract programming. This lesson covers the creation of a new storage variable called 'name_to_favorite_number', which is of type Hash Map. Duration: 4min
24. Recap
A comprehensive guide to deploying a Vyper smart contract - This lesson will cover how to deploy a smart contract that stores favorite numbers and names of people. It also discusses the concept of state variables, constructors, and using the Remix IDE to deploy the contract. Duration: 2min
25. Tenderly
A comprehensive guide to deploying a Vyper smart contract to a Tenderly Virtual Testnet, covering the setup of a virtual testnet, connecting to your Metamask wallet, and deploying your contract. Duration: 16min
26. Zksync
A practical guide to deploying ZKVyper contracts to zkSync Era - This lesson demonstrates how to deploy a ZKVyper smart contract to the zkSync Era using Remix IDE. The video provides a step-by-step guide on how to connect to a local plugin, activate the zkSync module, and deploy the contract. Duration: 0min
27. Share
A fun tutorial to sharing your progress - Learn how to share your smart contract progress on Twitter to connect with the community and make your learning journey even more exciting! Duration: 1min
28. Evm
A technical introduction to the EVM - The EVM, or Ethereum Virtual Machine, is a set of standards that define how compiled smart contract code should be written. The lesson discusses the different types of Ethereum Virtual Machine (EVM)-compatible chains and their differences. Duration: 2min
29. Pure And View
A comprehensive guide to understanding pure and view functions in Vyper smart contracts. The lesson delves into the fundamental differences between these function types, their ability to interact with state variables, and how to effectively use them in real-world applications. Duration: 3min
30. Conditionals
A practical guide to conditional statements in Vyper - This lesson provides an example of how to use conditional statements (if-elif-else) in Vyper to create a function that takes a uint256 input and returns different values based on the input. The lesson covers how to set up the function, define the conditions, and return the appropriate value. Duration: 2min
31. Workshop Pt. 2.
Duration: 3min
32. Recap
A comprehensive section recap on Vyper smart contracts - This section reviews the concepts covered in the previous lessons, including pragma version, structs, state variables, visibility, constructors, external decorators, and view functions. Duration: 4min

Course Overview

About the course

What you'll learn

The basics of blockchain transactions, how to send and receive money on a blockchain network.

How to write Python based smart contracts using Vyper.

How to read and understand Vyper smart contracts.

Vyper data structures, arrays, structs, hash maps.

How to build a smart contract application and deploy on ZKsync with Moccasin.

Course Description

Who is this course for?

  • Software engineers
  • Web3 developers
  • Fintech developers
  • AI developers
  • Everyone interested in learning Python and smart contracts

Potential Careers

Smart Contract Auditor

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

On-chain Data Analyst

$59,000 - $139,000 (avg. salary)

DeFi Developer

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

Smart Contract Engineer

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

Web3 developer

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

Web3 Developer Relations

$85,000 - $125,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.

Tasuku Nakamura

Tasuku Nakamura

Founder at smartcontract.engineer

Smart contract engineer and educator.

Last updated on November 29, 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