Skip to content

gy001/Dapp-Learning-zkSync

 
 

Repository files navigation

Dapp-Learning ZKsync Era Tutorial

Wechat group helper Twitter Follow YouTube Channel Subscribers Discord server Telegram group

课程概览

  • 课程形式: 视频直播课程 + 代码示例 + 线上workshop
  • 课程时长: 6 周
  • 课程目标: 通过学习本课程,学习者将理解 zkSycn Era 的工作原理,并有能力在 ZKsync Era 网络上部署 DApp。 帮助更多用户使用 ZKsync Era。

课程大纲

Lesson 1: 快速上手 ZKsync 开发以及 Native AA

  • 开发工具: 介绍开发工具的用法 (Block Explorer, ZKsync-cli, hardhat-plugins).
  • 入门示例: 在 ZKsync Era 网络上部署 ERC20, ERC721 合约并交互.
  • Native AA: 在 ZKsync Era 网络上部署 Native AA 示例 (spend-limit),并交互.

video p1 | video p2 | Doc

Lesson 2: ZKsync Era 抽象账户

  • EIP-4337 概述: 介绍 EIP-4337 及其工作原理。
  • ZKsync Era 中的 AA 机制: 介绍 ZKsync Era 中的账户抽象(AA)机制,详细说明其操作原理和工作流程.
  • 原生 AA 与 EIP-4337 的比较: 比较 ZKsync Era 中原生 AA 与 EIP-4337 的差异.
  • 费用模型与Paymaster: 介绍 ZKsync Era 中账户抽象的费用模型以及Paymaster.

video | Doc

Lesson 3: ZKsync 系统特性详解

  • L1-L2 Message: 链接 主网 和 ZKsync Era 的合约,用于证明验证以及 L2 <-> L1 通信.
  • System Contracts: ZKsync Era 系统合约介绍.
  • Gas Fee Model: 解析 ZKsync Era 的 gas 费用机制及其与以太坊的区别.
  • Differences from Ethereum: 详解 ZKsync Era 与主网的区别以及开发注意事项.
  • ZKsync Bridge: 介绍 ZKsync 桥的工作方式.

video | Doc

Lesson 4: DApp 部署 1

  • 如何在 ZKsync Era 上部署 Uniswap V3 (front-end + contracts).

video | Doc

Lesson 5: DApp 部署 2

  • ZK red packet: 如何在 ZKsync Era 上部署 ZK Redpacket (contracts + scripts).

video | Doc

Lesson 6: DApp 部署 3

  • rollup bridge: 如何在 ZKsync Era 上部署 Rollup Bridge.

Rollups 原理和 ZKsync Era (选修):

Lesson 7: Boojum 原理 1

  • Boojum: Boojum 原理 电路算术化
  • Plonk and Plonky2: Plonk和Plonky2技术的技术原理。

Lesson 8: Boojum 原理 2

  • Lookup Argument: 查找表技术

video p1 | video p2 | Doc

Lesson 9: Boojum 原理 3

  • Boojum 深入: FFT

video p1 | video p2 | Doc

Course Overview

  • Course Format: online live video courses + code example + online workshops
  • Duration: 6 weeks
  • Course Objectives: Upon completing the course, learners will understand how ZKsync Era works and be able to independently develop DApps for ZKsync Era. Help more users onboard ZKsync Era.

Course Outline

Lesson 1: Quick Introduction to ZKsync Development and Native AA

  • Development tools: Introduction and usage of development tools (Block Explorer, ZKsync-cli, hardhat-plugins, Foundry).
  • Simple Example: Deploying and interacting with ERC20, ERC721 contracts on the ZKsync Era network.
  • Native AA: Deploying and interacting with a simple AA contract (spend-limit).

video p1 | video p2 | Doc

Lesson 2: ZKsync Era Account Abstraction

  • EIP 4337 overview: An overview of EIP 4337 and how it works.
  • AA Mechanism in ZKsync Era: Introduce the Account Abstraction (AA) mechanism in ZKsync Era, detailing its operating principles and workflow.
  • Native AA vs EIP 4337: Compare the differences between native AA in ZKsync Era,
  • Fee Model and Paymaster: Introduce the Fee Model for Account Abstraction in ZKsync Era and the role of Paymasters.

video | Doc

Lesson 3: ZKsync System Features

  • L1-L2 Message: contracts connecting Ethereum and ZKsync Era for proof validation and L2 <-> L1 communications.
  • System Contracts: Introduce the ZKsync Era system contracts.
  • Gas Fee Model: Explain the ZKsync Era gas fee mechanism and its difference from Ethereum.
  • Differences from Ethereum: Explain the differences from ethereum and development consideration.

video | Doc

Lesson 4: DApp Development 1

  • How to deploy Uniswap V3 on ZKsync Era (front-end + contracts)

video | Doc

Lesson 5: DApp Development 2

  • ZK red packet: Develop a ZK redpacket on ZKsync Era.

Lesson 6: DApp Development 3

  • rollup bridge: How to develop a cross rollup bridge on ZKsync Era.

Principles of Rollups and ZKsync Era (Optional):

Lesson 7: Principles of Boojum 1

  • Boojum: Technical principles of Boojum, Circuit Arithmetization

video | Doc

Lesson 8: Principles of Boojum 2

  • Lookup Argument:

video p1 | video p2 | Doc

Lesson 9: Principles of Boojum 3

  • Inside Boojum: FFT

video p1 | video p2 | Doc

Reference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 46.8%
  • Solidity 34.6%
  • Rust 17.2%
  • JavaScript 1.3%
  • Circom 0.1%