Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1196 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:( q$ @5 e/ k4 B# X4 Y, ], G
1 为什么要在zkSync Era部署智能合约5 O5 z2 h1 O8 B2 d  h9 x

+ c; D. u4 B9 s/ F6 `- {超级空投规则的核心原则有两个:
9 E2 b* M! d4 Y9 |* m. e7 n* [* g--链上行为,包括跨链、Swap、LP、投票等
3 z1 ]& ?+ m% J' U! e--链上资产价值
6 p5 [; z6 v/ r/ |. N0 y4 d$ Q为了猎取空投,我们需要尽可能丰富链上行为
$ s+ U2 R5 f; R# c4 _: ^) M另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移
: K1 i% N; x. D: @: l, G3 e* g% P6 Y9 z5 I
2 系统环境准备! p6 |( K1 \4 @

) S" u- `( X% N/ J# G--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理4 k" ^3 s4 a( o, Y
--windows系统,建议使用PowerShell进行以上操作8 k& H% d4 g) ^) j
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可2 d! m6 h# {) D) C, _' t7 N" ^
3 准备一些Göerli测试网ETH& K9 R# B2 {. ]% X
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署: S; }* C6 U4 t6 p# y
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
8 |8 _) p# y9 d( A推荐使用Alchemy的水龙头
' T/ x/ F4 _* Z9 |& |' N- J
$ s. m/ C. r- c4 F0 bhttps://goerlifaucet.com/
0 U, V1 s: p- y5 s% o( x/ j4 初始化项目
3 X: d/ y1 c4 t! |6 [
6 v" M9 [8 R, {! L$ V2 p在PowerShell中运行以下命令:0 u- E3 N0 Z3 c# i
mkdir greeter-example8 e3 Q! J7 X/ V' ~
cd greeter-example7 U- p6 c; l: q* u# Q
yarn init -y
/ W! m. Q3 q4 E! Pyarn 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
3 d6 z% ~3 e& p0 q; J7 {: }4 k
: ~; N! w# V* X, \0 u- Y5 配置% D: G8 f1 w+ B) f5 N

  N' ~7 m! t" q. \/ ?--使用“touch hardhat.config.ts”命令创建配置文件0 q6 T2 \' y& C9 _5 K
--使用“notepad.exe hardhat.config.ts”打开配置文件! E4 W4 L7 j5 G7 f/ Z
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭1 o. J9 \+ {- h

: {$ j  i$ D! j2 c9 }https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration& s  a0 @% ^7 n" n
6 编译合约5 m0 e7 `% m3 |3 R) Y8 m
6 C. G, b1 ^3 Q) Q4 b5 D
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件4 G: {, m: \5 X: ~! @6 u
--使用“touch contracts/Greeter.sol”创建智能合约文件
  f; D* K; J9 p& m; }--使用“notepad.exe contracts/Greeter.sol”命令打开文件# E$ q& l0 s3 h  G
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
2 d2 o* U* h% [& ]+ a2 J1 l" p--运行“yarn hardhat compile”命令编译
( ]7 b' H9 {/ M" C. D8 t
8 v) V7 x2 B2 ?; @7 部署合约5 o0 ^- i6 U5 q  |
, D0 i6 W! d' U7 B4 [6 c
--使用“mkdir deploy”命令创建deploy文件夹
: K0 O9 E+ P8 B$ V2 E+ C* Y; Q--使用“touch deploy/deploy.ts”创建部署配置文件+ i7 R3 h/ X& P9 B3 o
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件2 h& N) K1 Y% T7 e5 y
--在官方文档找到deploy.ts代码,将其粘贴到本地& v- P2 ?# P; F: v0 W. p' F
--将代码中的WALLET-PRIVATE-KEY替换为私钥
: N6 l8 ?0 a" R8 Z2 o& I--运行“yarn hardhat deploy-zksync”以部署
6 H/ t* A, l+ ]% |" ~* c' u4 R8 T0 b3 p+ e, c! P$ [( M
8 脚本动作8 J& j1 W( l" t* h) m% F* Z' T) {
& ]8 Y  d2 W/ f
部署成功后,该脚本将:
' {. o; q2 Z, g1 v" r2 L--从 Goerli 转 0.001 ETH 到 zkSync4 N/ j: V" N- E- _) ]7 b- w6 E
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
/ \8 f3 s$ s0 G& {" S- `9 S--从调用该方法的合约中检索消息greet(); S0 v$ l  b( x9 v. w! a/ |% Z
--使用该方法更新合约中的问候消息setGreeting()1 I" L- o. @6 c. ]9 D% M
--再次从合约中检索消息) ~  f* e! T5 e% [" ?
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6