zkSync Era智能合约部署教程
林中清泉筒
发表于 2023-3-29 12:06:27
1213
0
0
1 为什么要在zkSync Era部署智能合约 S3 B- a0 A' ^/ T2 m! w" U. }
( t* I6 v1 h l v) K9 v. J
超级空投规则的核心原则有两个:
--链上行为,包括跨链、Swap、LP、投票等
--链上资产价值
为了猎取空投,我们需要尽可能丰富链上行为4 J+ A- L6 f3 Q" j; _( A5 f/ R
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移
" `8 e3 j# e; b1 c t6 L% r: l: [: ^
2 系统环境准备
$ X; S$ C p$ U# R: s
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理6 |. \3 E' J* p! B9 {; i# n9 s& M
--windows系统,建议使用PowerShell进行以上操作
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
3 准备一些Göerli测试网ETH s% ]$ X' V& A" `# \
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH9 Y* X" k: t8 P1 ?3 }2 K2 B
推荐使用Alchemy的水龙头1 h5 e; a* G3 t1 \, r8 | C
https://goerlifaucet.com/7 C- P$ j* Q8 D8 I; f l
4 初始化项目! r2 b8 j F" A" M, T/ w
& f, z( f3 s6 l7 e% c' l4 D
在PowerShell中运行以下命令:
mkdir greeter-example
cd greeter-example: c0 k4 _: S9 w
yarn init -y
yarn add -D typescript ts-node @types/node [email protected]^5.7.2 zksync-web3 @ethersproject/hash @ethersproject/web hardhat @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy- J8 f0 F5 `3 W+ o- ^: _
2 h8 [$ Y! V& i
5 配置
- v u7 A0 w7 m' l% C$ p
--使用“touch hardhat.config.ts”命令创建配置文件/ N+ K7 ?/ n! `& F. U4 V+ F) B
--使用“notepad.exe hardhat.config.ts”打开配置文件
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration
6 编译合约
& K+ T' ?: u' R8 m0 L% o% V/ U
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件
--使用“touch contracts/Greeter.sol”创建智能合约文件9 g8 h( o5 j* D) b: c% d- t0 i0 \- ]
--使用“notepad.exe contracts/Greeter.sol”命令打开文件6 _7 C b5 c6 a6 n S" V
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
--运行“yarn hardhat compile”命令编译
t- L" h- s# @0 p
7 部署合约
' j, w% F. P7 g. J7 }7 b$ B
--使用“mkdir deploy”命令创建deploy文件夹
--使用“touch deploy/deploy.ts”创建部署配置文件) _2 W& y2 P& k
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件; ?# k3 q; n( @# j% Z
--在官方文档找到deploy.ts代码,将其粘贴到本地
--将代码中的WALLET-PRIVATE-KEY替换为私钥3 v1 E! q4 l2 q4 ?% h) U
--运行“yarn hardhat deploy-zksync”以部署
8 脚本动作3 i" T" o7 C8 H* ^% v( ]! i
- A( e6 L3 W) I' V4 {. {- I
部署成功后,该脚本将:# F3 p [: }5 U% N
--从 Goerli 转 0.001 ETH 到 zkSync
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
--从调用该方法的合约中检索消息greet()7 C7 c& ]# C6 P, _
--使用该方法更新合约中的问候消息setGreeting()+ K0 l5 O, ^" }
--再次从合约中检索消息0 W; K! d, l0 T4 d) _- K4 [9 j0 C
以上就是我的zkSync Era部署智能合约教程
成为第一个吐槽的人