Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1215 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:; \% V, L* x" q. ~. R% ]5 F
1 为什么要在zkSync Era部署智能合约
. ~+ r3 B. v, u9 D6 W1 V' c4 k1 l; j( [0 y
超级空投规则的核心原则有两个:
5 s+ E6 P( A" \" k* X+ ]: S( L--链上行为,包括跨链、Swap、LP、投票等& c! e. W  Q9 a
--链上资产价值/ C7 h' n5 e4 s1 A
为了猎取空投,我们需要尽可能丰富链上行为
( R! X, ], L6 ^+ `另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移2 ~  K6 U+ a4 _, z2 S3 j
2 U5 |" O8 Y# s' W  r" [
2 系统环境准备
3 k% U8 X) W# ~7 }6 R6 r2 \+ o& j
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理% x9 `0 ?, b6 [" G+ q; y
--windows系统,建议使用PowerShell进行以上操作
1 i$ i; s" o! n; h2 ]--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可5 ?$ e3 H, v, S# ^/ t) q: }9 B' Q
3 准备一些Göerli测试网ETH
( A/ O# b& X+ g- {5 k& G2 s6 E我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署1 L+ D$ f+ G% t4 H3 y: }
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
6 X8 b3 y, r+ }; ?3 |2 F推荐使用Alchemy的水龙头6 d/ S  S" \- T
) v: ]3 t& x# j
https://goerlifaucet.com/
8 n; [  }) K$ g1 z1 k4 初始化项目
8 i3 A* p3 X. ^9 Q  t- M/ T( {6 R, S
在PowerShell中运行以下命令:. a# q# n% k9 h$ L( Q
mkdir greeter-example" a2 q: f8 c% _* M6 Y! O# l' H) D
cd greeter-example
6 b% e  o2 m* z& [, ~6 {/ R+ }& Fyarn init -y
: }1 S; O7 S# x5 Hyarn 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/ c7 k5 h* E0 J

: B6 D  ?8 o+ a) r5 配置8 ?; J( h# u8 ?9 I

# x1 L& H/ [4 ^--使用“touch hardhat.config.ts”命令创建配置文件1 K& d8 h8 B0 J0 x2 [# w" E2 G
--使用“notepad.exe hardhat.config.ts”打开配置文件8 E" _- j" N9 o' d' J0 e) l/ a9 T
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭( v* h: _$ o/ f

* V) L" f2 C3 C8 \3 }4 K  Z4 O1 @https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration
. D- Z8 X1 s$ U; \' z6 编译合约  Q/ ?9 n) b  y" m& W6 @( E

! s# `5 y( J$ l! d+ R& v2 N--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件2 U% g8 b4 a! e8 e: N& ]8 n
--使用“touch contracts/Greeter.sol”创建智能合约文件
' [9 F! Q5 l& p$ ~( J--使用“notepad.exe contracts/Greeter.sol”命令打开文件
* u. S- v0 P- D9 Q* k4 T! m8 B5 }/ R. I--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
; i8 H- B; y" W# ?6 C9 x--运行“yarn hardhat compile”命令编译% a% o4 B7 ]- F! t  S

- f7 q' K. a- L3 M7 部署合约
. N1 M+ O; E2 D+ |
1 ?) S9 }- A# x4 Y( S9 e8 F9 S--使用“mkdir deploy”命令创建deploy文件夹- f+ I* P& L# [, D
--使用“touch deploy/deploy.ts”创建部署配置文件8 M2 B( `6 J  f
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件7 S0 `  j/ F" w7 {; X2 J' W
--在官方文档找到deploy.ts代码,将其粘贴到本地8 o4 C7 k# k# B5 G* Z$ B1 t  G
--将代码中的WALLET-PRIVATE-KEY替换为私钥
4 [6 q* _# h6 v& V- Q--运行“yarn hardhat deploy-zksync”以部署
/ X  g; l1 W# L  B
# G  n9 ?* G; Z4 D' W% x8 脚本动作
  r  X8 w4 f& E7 X5 @8 L, ?6 _* y- _9 L+ X! g
部署成功后,该脚本将:
  w1 q5 e9 z' d* }--从 Goerli 转 0.001 ETH 到 zkSync
: h$ O7 s' o& X1 P) \--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
" D* m& ^) p- i: K2 C--从调用该方法的合约中检索消息greet(): g6 B) U9 ?+ W- M
--使用该方法更新合约中的问候消息setGreeting()
/ S, _  X! L1 r# p--再次从合约中检索消息* y/ g, F0 l' H* g
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6