Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1214 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:
# Y6 a* X% `& S, J/ z, O1 为什么要在zkSync Era部署智能合约
) w6 U9 u+ j3 ~" d) f2 \  _# ^. M) k& c8 m$ ?4 j) r5 [6 Y
超级空投规则的核心原则有两个:
& Z/ S  l# G: s" r, k3 O--链上行为,包括跨链、Swap、LP、投票等
. L( d" M+ l* _: g--链上资产价值
* Q0 a6 r2 B1 J: g为了猎取空投,我们需要尽可能丰富链上行为: z" w+ _7 Q/ @* K( V" H
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移3 n2 ^6 V- u( u5 S5 C. i1 [6 n
6 f9 e% f( G5 }
2 系统环境准备( Z; p% h" f3 h& |, z
# j8 m& x  ^: j
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理
1 S4 J' [, j% [8 N--windows系统,建议使用PowerShell进行以上操作* J4 g' q, R& d' K2 C  c( \
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
% I: _) U' O& d, c+ `0 a+ V% P3 准备一些Göerli测试网ETH
# e5 J/ N$ m6 j& E我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署
. j/ Z* b! p7 [* dzkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
% }+ n% `& \6 L* n" y推荐使用Alchemy的水龙头
$ V: d% W+ U: R1 o# Y, \" W6 {& Y  E
https://goerlifaucet.com/, r1 l7 t9 r: _
4 初始化项目
2 L( v/ k) k/ q& L
$ s7 m4 P' O* _: w+ z8 @在PowerShell中运行以下命令:; z5 @* o1 W, u2 g: h! a
mkdir greeter-example
0 a0 J/ f. [) R" H1 }cd greeter-example) j  D) I- X, s' T
yarn init -y. m0 [% H' l" ~, F
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
- R' t  x4 d4 L8 z; g* k/ p( b8 k1 I3 t8 Z! [% t
5 配置/ W* d$ g7 \: ~) [- F( G

  s! Z8 f6 b* K( z--使用“touch hardhat.config.ts”命令创建配置文件
! E4 j0 J  Y& G2 ^6 ?; j0 f/ B. \--使用“notepad.exe hardhat.config.ts”打开配置文件% h+ b( D  i3 s
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
: ?8 J' _6 H5 q, S' {" g9 n4 W, f& M$ Z3 k  v+ |
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration2 H! d4 Y. P" f3 `) z0 @4 S. f
6 编译合约
/ \" e- v, I! J9 q; K, J9 B# s0 p* n7 ?4 Z
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件9 e+ Y% C: q  R" \* M! w
--使用“touch contracts/Greeter.sol”创建智能合约文件
, u0 J  V% d$ j0 w6 L0 ]+ ^$ W! ~--使用“notepad.exe contracts/Greeter.sol”命令打开文件/ i# ^1 ~! G$ b  P- j
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
8 B! _: p3 c% t0 A3 N--运行“yarn hardhat compile”命令编译
- y& R4 F$ N4 V" ^8 v( |2 `: s/ P8 f- m% f7 b. {7 {5 Q
7 部署合约9 A; Z8 C$ T$ d/ Q
8 Z0 i0 P5 A% x: @4 P/ }  j+ d$ G' v7 k
--使用“mkdir deploy”命令创建deploy文件夹7 F6 P2 i8 y# D$ T# y2 F- \
--使用“touch deploy/deploy.ts”创建部署配置文件, E; D) {- T) E. w
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件
' j7 R2 l5 T' n1 s* D--在官方文档找到deploy.ts代码,将其粘贴到本地) b, |9 H8 a7 c/ T4 b0 Z
--将代码中的WALLET-PRIVATE-KEY替换为私钥2 A1 ?0 T; Q2 t& J, {
--运行“yarn hardhat deploy-zksync”以部署: ^/ ]: A/ A' C" ?2 [

$ W5 g& l1 q  L8 脚本动作) p  S+ h$ w9 V5 g3 r( w1 t4 K. W" o
2 \: E7 _  H& R& V/ k( ]3 j
部署成功后,该脚本将:
( @4 a- x: U% q' K--从 Goerli 转 0.001 ETH 到 zkSync( v- C3 D- |% |" v+ |: A) r
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网3 |% W% \8 M. {& p$ K+ E
--从调用该方法的合约中检索消息greet()
0 l& x6 q& o2 V8 o2 H0 _0 H' X--使用该方法更新合约中的问候消息setGreeting()4 \! d- r/ L5 u( w$ `
--再次从合约中检索消息
) m  Y2 O- a. ~$ j/ {. j* M0 Q以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6