Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1211 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:
1 v3 Q% v  R4 ?+ T" d$ G  T5 _1 为什么要在zkSync Era部署智能合约
  q, ]8 y% S2 L% [8 E+ `/ ?+ g! u: O& e. v5 T2 ^
超级空投规则的核心原则有两个:
+ x, L2 A/ E& G& |: [& E3 G9 M--链上行为,包括跨链、Swap、LP、投票等. u/ t- U& O3 q7 @7 ]
--链上资产价值
+ [$ p4 t. L# K- }  L4 L8 p为了猎取空投,我们需要尽可能丰富链上行为8 X2 T% d+ `7 C  Y: z
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移9 l1 g% v9 R5 c" [4 B0 ]8 T
: o+ \- u: W7 J/ y6 x/ u; I
2 系统环境准备
1 R$ J# w- u) ?, ]2 f8 o& b( h$ Q/ O% F1 m! N8 s  p- ]8 F
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理" u4 B) j7 G2 ^$ i( S) N
--windows系统,建议使用PowerShell进行以上操作2 O# h7 g3 ?$ a
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
1 w& T  u/ U$ O; p# g/ _3 准备一些Göerli测试网ETH
' q* c. w. t# H$ R我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署3 C5 y* y$ |( g: Z" ]
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
6 K; Y/ B% e" ^! V- s2 x推荐使用Alchemy的水龙头
& m9 V: j9 v: V$ u2 Y# W; s* ~% e4 D1 V
https://goerlifaucet.com/: |8 O5 u% C* m+ K' T% t2 h# [
4 初始化项目3 |. r2 `" W( C, F* q( c% e
7 k* v+ L6 E3 x. s3 n7 b+ ]  e
在PowerShell中运行以下命令:; @/ W& `7 S/ S) @% a. E; }  |" [8 t
mkdir greeter-example
* |  E% v+ d: d* G) n' [" |cd greeter-example
, C; s6 W5 G$ n, V9 B& g6 kyarn init -y& T, n+ ?# E) z% F4 B' @% W0 C
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-deploy2 F7 R% ^7 R  K7 M" f8 ~4 Y9 e1 `

4 a- O- z8 D- X/ d! f2 P& H. h0 j5 配置
, s5 h3 V) z8 m' O8 [
% V( [! ?' O, _  v" F--使用“touch hardhat.config.ts”命令创建配置文件
; L' F6 Q) {  o8 C* Y7 p--使用“notepad.exe hardhat.config.ts”打开配置文件
; z4 {; K) v) l3 h  G8 |$ z5 d$ }--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭4 G* {% Y) v/ r* G/ v. }

1 F  Z( I$ O) ^5 q" S/ L5 a  e9 Whttps://era.zksync.io/docs/api/hardhat/getting-started.html#configuration' P! y8 r6 U) v8 A3 q
6 编译合约# Z* }. J! M( h, Z
: M% K" z8 z1 i) |/ R
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件5 v$ N: q* E, R- L% W% F
--使用“touch contracts/Greeter.sol”创建智能合约文件% h- o- i( A8 x0 P" F+ I* l7 B
--使用“notepad.exe contracts/Greeter.sol”命令打开文件
, |6 K8 _* f0 ]1 _--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件( S$ b; w8 S% g7 T
--运行“yarn hardhat compile”命令编译7 J! X7 y" ]' i# v2 R5 ?

! s8 C* j' |. k3 }. P7 部署合约
5 ]' A. U# U" z2 ]; ]3 f: q9 D. b5 V2 j! [: T( g
--使用“mkdir deploy”命令创建deploy文件夹" W$ e6 _( y+ |# b7 Y
--使用“touch deploy/deploy.ts”创建部署配置文件
4 G) ~8 c5 S4 w' x. ], Z--使用“notepad.exe deploy/deploy.ts”命令打开配置文件  ~0 N7 h) k' ~9 S9 a3 z1 B. B2 P
--在官方文档找到deploy.ts代码,将其粘贴到本地
5 m' n+ Z6 P! t- t2 y--将代码中的WALLET-PRIVATE-KEY替换为私钥7 }. s- M  U8 ]" `. Y. }; T) \& \
--运行“yarn hardhat deploy-zksync”以部署
4 r" j5 @  x8 }3 Q/ e: Y
1 u8 ~% K5 F5 V; R, Y6 j8 脚本动作
( j, |1 i3 m# k* U8 d& M8 W+ n0 t
, D& g% o& h6 Z* q部署成功后,该脚本将:1 N% W- f0 U: e! [7 q; B. A
--从 Goerli 转 0.001 ETH 到 zkSync
4 I& T# @/ N1 L) a, `--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网4 }4 s$ C% Z( r# F
--从调用该方法的合约中检索消息greet()
- W6 s" w& x% S6 t, C; D2 `0 u--使用该方法更新合约中的问候消息setGreeting()+ f* s8 ^# G/ @0 E
--再次从合约中检索消息
$ L4 |" m/ Z8 t5 v; N4 K以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6