Static Ext Call

A practical guide to `staticcall` and `extcall` in Vyper. This lesson explains the differences between `staticcall` and `extcall`, highlighting their unique functionalities and when to use each.

1. Intro
A practical guide to Vyper smart contract modules - The lesson covers contract deployment and interaction using the new 0.4.0 modules feature, including interfacing and the 'Xcall' function. This section will focus on the basics of modules and how to use them in your Vyper smart contracts. Duration: 3min
2. Create Copy Of
A practical guide to using the create_copy_of function in Vyper. This lesson explores how to create copies of existing smart contracts on a blockchain and deploy them with identical bytecode. Duration: 6min
3. Static Ext Call
A practical guide to `staticcall` and `extcall` in Vyper. This lesson explains the differences between `staticcall` and `extcall`, highlighting their unique functionalities and when to use each. Duration: 2min
4. .vyi
A practical guide to using File Interfaces (.vyi) in Vyper. This lesson covers creating a standalone interface file, importing it into another Vyper contract, and using the interface to interact with external functions. Duration: 7min
5. Deploy Script
A comprehensive guide to deploying a Vyper smart contract using Brownie, a Python-based framework for developing Ethereum applications. The lesson demonstrates how to write a deploy script that interacts with a Vyper contract, import the necessary modules, and utilize the Vyper framework for type hinting. Duration: 7min
6. Extcall
A practical guide to cross-contract interactions (Extcall) in Vyper - This lesson demonstrates how to update a smart contract by interacting with a factory contract using the Extcall method. Duration: 2min
7. Store Contract By Interface
A practical guide to storing contracts by interface type - This lesson demonstrates a refactoring technique to store contracts by interface type rather than by address, showcasing its efficiency and practical benefits in Vyper development. Duration: 1min
8. Method Chaining
A comprehensive guide to method chaining in Vyper - Learn how to simplify complex contract interactions by chaining multiple methods together in a single line, making your code more readable and efficient. Duration: 3min
9. Vyper Modules
A comprehensive guide to understanding and utilizing Vyper modules. The lesson delves into the concept of modules as a means of achieving code reuse in Vyper, contrasting it with inheritance. Duration: 5min
10. Initializes Module State
A comprehensive guide to initializing module state in Vyper. The lesson explains the importance of initializing modules, explores the initializes keyword, and demonstrates how to call an init function to access a module's state. Duration: 6min
11. Exports
A comprehensive guide to using exports in Vyper smart contracts. This lesson will teach you how to pick and choose the functions you want to expose from an imported contract, ensuring your contracts are clean and efficient. Duration: 5min
12. Workshop
A detailed guide to using modules and dependencies in Vyper. The lesson covers initializing a module with dependencies, the walrus operator, and the uses statement. It includes a workshop with four challenges for practice. Duration: 3min
13. Recap
A comprehensive recap of creating contracts from other contracts in Vyper. This lesson covers topics including the create_copy_of keyword, interfaces, imports, exports, and staticcall. Duration: 3min

Course Overview

About the course

What you'll learn

Python basics

Introduction to Web3.py

Introduction to Titanoboa

Introduction to Moccasin

How to create an ERC-20

How to test Python code and Vyper smart contract

How to deploy Vyper smart contracts on ZKsync using Moccasin

Course Description

Who is this course for?

  • Software engineers
  • Web3 developers
  • Finance 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.

Last updated on August 11, 2025