Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1213 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:, o5 B; D9 u0 Z
1 为什么要在zkSync Era部署智能合约  S3 B- a0 A' ^/ T2 m! w" U. }
( t* I6 v1 h  l  v) K9 v. J
超级空投规则的核心原则有两个:
  b) j- K7 v- {- L--链上行为,包括跨链、Swap、LP、投票等
. u; T7 }/ C: c2 u# g--链上资产价值
) j  d! H3 N" [3 V4 x/ h' R. H为了猎取空投,我们需要尽可能丰富链上行为4 J+ A- L6 f3 Q" j; _( A5 f/ R
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移
+ N8 w6 U' l: B( H- d( a" `8 e3 j# e; b1 c  t6 L% r: l: [: ^
2 系统环境准备
% W7 Q: ]2 v+ h+ P$ X; S$ C  p$ U# R: s
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理6 |. \3 E' J* p! B9 {; i# n9 s& M
--windows系统,建议使用PowerShell进行以上操作
( V+ v7 h; _- s6 r: U* s# n+ `6 r$ @--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
+ [: T8 p- b8 Z7 F3 准备一些Göerli测试网ETH  s% ]$ X' V& A" `# \
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署
7 F% e( g7 a% _( @0 ~2 MzkSync 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

) p; x/ Q' g8 n& v7 Vhttps://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中运行以下命令:
( ]( [" v6 @) m3 D8 Cmkdir greeter-example
- O7 f+ A# ?9 T" L- h" |cd greeter-example: c0 k4 _: S9 w
yarn init -y
) U( b3 o0 ~+ s' G5 m' jyarn 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 配置
2 I( b/ C0 q6 X3 b; @- H' B8 ]- 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”打开配置文件
8 D7 v: F5 i& ?% I& q" @--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
) n) i" A* \8 }5 _7 C
1 J6 C) o3 I; D* Y, K! hhttps://era.zksync.io/docs/api/hardhat/getting-started.html#configuration
2 g+ L7 x& U( v6 \1 K+ x0 H6 编译合约
. O2 X6 w8 X" ^% E3 w* r2 j- H& K+ T' ?: u' R8 m0 L% o% V/ U
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件
: `9 M$ u3 i) _1 g--使用“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智能合约代码,将其粘贴到本地文件
; a& g/ P4 v+ x/ d; J  l( R--运行“yarn hardhat compile”命令编译
' }  o6 i( }! E& b3 ?# a, t; t' C- H8 V  t- L" h- s# @0 p
7 部署合约
" j) X4 y5 G3 y  A' j, w% F. P7 g. J7 }7 b$ B
--使用“mkdir deploy”命令创建deploy文件夹
& z+ L1 Q0 f6 W--使用“touch deploy/deploy.ts”创建部署配置文件) _2 W& y2 P& k
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件; ?# k3 q; n( @# j% Z
--在官方文档找到deploy.ts代码,将其粘贴到本地
4 Y; ^# ~8 N/ E2 O--将代码中的WALLET-PRIVATE-KEY替换为私钥3 v1 E! q4 l2 q4 ?% h) U
--运行“yarn hardhat deploy-zksync”以部署
/ D" s$ m# m& Y2 N7 e( W8 D* u- f! l
8 f. F: O& r* e9 @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
! k0 W; E* k1 K+ @--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
8 M3 R% f5 U. m# b9 U3 k/ D--从调用该方法的合约中检索消息greet()7 C7 c& ]# C6 P, _
--使用该方法更新合约中的问候消息setGreeting()+ K0 l5 O, ^" }
--再次从合约中检索消息0 W; K! d, l0 T4 d) _- K4 [9 j0 C
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6