Signature Standards

A comprehensive guide to signing and verifying signatures on the Ethereum blockchain - Learn about EIP-191 and EIP-712, two Ethereum Improvement Proposals crucial for securing smart contracts and preventing replay attacks.

1. Intro
A comprehensive guide to building a Merkle Airdrop smart contract in Vyper. This lesson explores the use of Merkle trees for efficient airdrop distribution, emphasizing the security and gas efficiency of this approach. Duration: 4min
2. Setup
A simple guide to creating a Merkle Airdrop contract in Vyper - This video will show you how to create a Merkle Airdrop smart contract using Vyper, which allows users to claim tokens via a claim function. It includes the process of setting up a new project with Mox and deploying the contract. Duration: 3min
3. Merkle Trees
A simple introduction to Merkle trees and Merkle proofs, this lesson covers the basics of how Merkle trees are structured and how Merkle proofs are used to verify data on blockchains. Duration: 7min
4. Making A Merkle
A detailed guide to creating a Merkle tree using Python. This lesson covers building the foundation of a Merkle tree by generating leaf nodes and constructing the Merkle root through hashing pairs of values. Duration: 9min
5. Merkle Proof
A comprehensive guide to Merkle proofs in smart contracts. The lesson covers the basics of how Merkle proofs work in practice, including how to generate and verify a Merkle proof for a specific address in a Merkle tree, as well as their application in airdrops. Duration: 5min
6. Claiming A Proof
A comprehensive guide to claiming tokens using a Merkle Proof in Solidity. The lesson covers verifying a Merkle Proof to determine eligibility for an airdrop, implementing a claim function, and logging the claim event. Duration: 6min
7. Signature Standards
A comprehensive guide to signing and verifying signatures on the Ethereum blockchain - Learn about EIP-191 and EIP-712, two Ethereum Improvement Proposals crucial for securing smart contracts and preventing replay attacks. Duration: 14min
8. Eip 712 In Vyper
A comprehensive guide to understanding EIP-712 in Vyper. The lesson covers the fundamentals of EIP-712 domain separation, its importance for secure signing, and how to implement it within your Vyper contracts. Duration: 5min
9. Ecdsa
A comprehensive introduction to ECDDSA signatures and their application in smart contracts - The video breaks down the concepts of public and private keys and the elliptic curve discrete logarithm problem to understand the security of ECDDSA signatures. Duration: 11min
10. Transaction Types
A comprehensive guide to understanding Ethereum and zkSync transaction types. The lesson covers the differences between transaction types, their historical context, and how they impact your interactions with these blockchains. Duration: 7min
11. Blobs
An optional guide to understanding Ethereum Blob Transactions - This lesson explains the concept of blob transactions, a new type of transaction that allows us to store data on-chain temporarily, which can then be deleted after a certain period. The lesson also discusses the implications of blob transactions for rollups and the gas market. Duration: 11min
12. Type 113 Transactions
A technical dive into understanding Type 113 Transactions on zkSync - This lesson explains account abstraction and its native integration within zkSync, along with the differences between externally owned accounts (EOAs) and smart contract accounts. Duration: 2min
13. Adding Signature Verification
A comprehensive guide to adding signature verification to a claim in a Solidity smart contract. This lesson demonstrates how to use the `ecdsa` module from the `snekmate` library to verify the signature of a user's claim and ensure its validity. Duration: 10min
14. Deploy
A comprehensive guide to deploying a Merkle Airdrop contract with Python. The lesson covers deploying the ERC20 token, generating a Merkle tree, deploying the airdrop contract, and testing the deployed contract with Mox. Duration: 3min
15. Testing
A comprehensive guide to testing Solidity smart contracts using Python. The lesson covers setting up a testing environment with pytest, fixtures, and Anvil, and includes a demonstration of testing a simple airdrop smart contract. Duration: 12min
16. Workshop 1
A challenging workshop to building merkle trees with 8 leaves in Solidity. This lesson involves expanding a simple merkle tree, understanding its structure and implications, and generating the necessary proofs for contract interaction. Duration: 3min
17. Recap
A comprehensive recap of the Mocassin Signatures course - This lesson summarizes the key concepts learned in the course, covering Merkle trees, EIP-712, ECDSA recovery, and the creation of a claim function for secure and efficient token distribution. Duration: 3min

Course Overview

About the course

What you'll learn

How to build a DeFi stablecoin and customized NFT

How to deploy your smart contract on ZKsync with Moccasin

Advanced testing techniques like stateful and stateless Python fuzzing

How to write algorithmic trading scripts in Python

Hashing signatures, proxies, delegate calls, upgradable contracts, random numbers, and more!

Course Description

Who is this course for?

  • Software engineers
  • Web3 developers
  • Finance developers
  • AI developers
  • Anyone 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 April 21, 2025