zkSync Era智能合约部署教程
林中清泉筒
发表于 2023-3-29 12:06:27
1228
0
0
1 为什么要在zkSync Era部署智能合约/ O& J! Y) y/ A
3 R* f9 c2 o8 Q! X
超级空投规则的核心原则有两个:
--链上行为,包括跨链、Swap、LP、投票等
--链上资产价值) ]3 t; ~- [4 ~( ~# ~! u5 x
为了猎取空投,我们需要尽可能丰富链上行为
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移& b9 c J o, o- K! S
2 系统环境准备
+ ^8 Y) V( J) F% _! l: z/ a4 H' f
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理2 G0 i8 }4 U3 ^3 y. O; D
--windows系统,建议使用PowerShell进行以上操作3 M. Y/ K( E4 u# d$ v
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可' I4 ^! @7 c# n# |
3 准备一些Göerli测试网ETH7 ]# e( l- A. T2 u
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署0 R. Y/ m9 ~! s( W7 R
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
推荐使用Alchemy的水龙头$ ^3 z" c; W5 G4 B" ?! l3 L% e
6 T* X5 m0 D4 o" {- O4 W2 ^
https://goerlifaucet.com/5 z0 r z' q* n- u- u5 G, |
4 初始化项目" L/ w. U. p$ D0 c
6 m" s" H2 t J' ^
在PowerShell中运行以下命令:1 }- @7 V1 K0 _
mkdir greeter-example
cd greeter-example
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-deploy6 O* G. u) q+ S y3 r
5 配置
--使用“touch hardhat.config.ts”命令创建配置文件1 c0 y- `" e$ m* I
--使用“notepad.exe hardhat.config.ts”打开配置文件$ X$ Y. C7 n& N2 K
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
# [8 j. r& w& e4 P
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration5 |7 ~: b8 N( K; t# c
6 编译合约- X+ n5 Y7 R# ^7 g
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件
--使用“touch contracts/Greeter.sol”创建智能合约文件; V9 y( ~3 s; D, @ r; m4 j: Z& H4 L- I
--使用“notepad.exe contracts/Greeter.sol”命令打开文件
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件" Y) S0 U& R: h# Q4 b/ m& G
--运行“yarn hardhat compile”命令编译: T) \. ~" {# o( j4 N
; ?# i: u9 ?* z
7 部署合约& r, Y, \8 R/ v6 P
, V3 O4 S3 V+ r8 C0 i- d6 j( \% K/ D
--使用“mkdir deploy”命令创建deploy文件夹* D/ s/ G: S. E& G
--使用“touch deploy/deploy.ts”创建部署配置文件
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件
--在官方文档找到deploy.ts代码,将其粘贴到本地
--将代码中的WALLET-PRIVATE-KEY替换为私钥0 ^$ Z( C0 H0 r# S2 |, w
--运行“yarn hardhat deploy-zksync”以部署
) f! t- ^& p6 F
8 脚本动作
部署成功后,该脚本将:% ]* M) i7 L! c) |& W0 V0 [. ~
--从 Goerli 转 0.001 ETH 到 zkSync
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网6 R" {, q% ^4 f
--从调用该方法的合约中检索消息greet()8 }) K/ q: P: X7 y4 X% [5 x
--使用该方法更新合约中的问候消息setGreeting()
--再次从合约中检索消息4 a+ T( o; {5 R. ^& S+ e) n; Y' i& S
以上就是我的zkSync Era部署智能合约教程
成为第一个吐槽的人