Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1399 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:
6 f5 }/ y+ o! `7 i% ^. u% G8 o1 为什么要在zkSync Era部署智能合约
* P# l: y' a& _0 }6 C- ~2 a; D+ l+ \) j
超级空投规则的核心原则有两个:! A" O; W( f+ V; R. Y8 O; O; I
--链上行为,包括跨链、Swap、LP、投票等& k9 s, k2 E3 W& e# i* I
--链上资产价值! C: T* @9 J. V1 D5 t% D
为了猎取空投,我们需要尽可能丰富链上行为$ }. B: T  q/ }) @
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移
+ o6 n7 b" X4 c2 R5 W
5 ^0 L) N6 r" V: n% ?2 系统环境准备
: h: J1 ]! b1 s8 O  ], c0 p! a& J/ ^$ q5 _+ ?
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理
8 Y- k) p# {& ^) A- b( i--windows系统,建议使用PowerShell进行以上操作
3 N2 C; P4 B$ l$ G; I--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可$ O2 e  n7 U# R  q9 m$ L7 I$ B
3 准备一些Göerli测试网ETH* C5 s  U$ {7 v6 r# k
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署
7 ^8 n1 I) ]" I& m! o9 PzkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH6 t) N0 D- `# l( ^) e
推荐使用Alchemy的水龙头+ E6 \+ F9 E/ x7 s& F2 A2 Y
. ?+ O8 x7 e, G5 J' t# _
https://goerlifaucet.com// P+ K0 A' g( o
4 初始化项目
9 d. J0 b' d6 I! z5 ^; d* e. r+ J
; l8 q3 h  l. b! ^1 }$ [在PowerShell中运行以下命令:* K1 a; A" ~; ~6 a. w5 J# v
mkdir greeter-example& _, ?4 B+ t; B+ T
cd greeter-example
, X( s) c" ~4 X7 j7 O$ k" |- iyarn init -y
5 l& j6 `/ y' O! _% l# ]0 syarn 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* L  p  W% ~$ H8 K

; Q9 M; w* P' r& M" q8 Q5 配置
& `" u& g4 Q3 @& y; k8 x* \: q$ i/ E0 [, A
--使用“touch hardhat.config.ts”命令创建配置文件4 {5 k9 ?& g6 p1 |1 C% _' n' f
--使用“notepad.exe hardhat.config.ts”打开配置文件
  o; W* ^  R% Z1 k# a0 ]9 m$ f--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
; x, |: R. s9 T4 K2 h& L- e
  r. g2 y/ t5 g* B( Xhttps://era.zksync.io/docs/api/hardhat/getting-started.html#configuration8 Z5 Z5 B( C! v, L* q7 Q) f
6 编译合约
; O. \) s, o& V( O2 ~9 I
; W/ v2 N0 _$ u6 F0 K1 w--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件1 Y3 Z! b( t9 X$ \
--使用“touch contracts/Greeter.sol”创建智能合约文件
$ _! P7 s/ Q! z. Z' C--使用“notepad.exe contracts/Greeter.sol”命令打开文件
, V  F; x9 M& Z$ ]--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
5 u% i  D! r" E--运行“yarn hardhat compile”命令编译: ]5 W# z' I% d: o  @) S* @

$ Q( a" e& N9 ?; _2 ]  v, s9 z7 部署合约
& h* \$ {" C0 c: r
" P1 h$ P  M# s$ u+ o# J--使用“mkdir deploy”命令创建deploy文件夹" |& |5 q" a) M
--使用“touch deploy/deploy.ts”创建部署配置文件) R7 P- ~5 v2 v0 X# ?' o
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件9 L% |" }! T, B: C, c! `9 ?
--在官方文档找到deploy.ts代码,将其粘贴到本地
3 P$ Y; j6 M& J+ y9 s3 {' z# |' Q% \+ Z--将代码中的WALLET-PRIVATE-KEY替换为私钥1 y8 [' ]2 p. `  P+ M
--运行“yarn hardhat deploy-zksync”以部署
# e& s1 j  W( y4 l7 }9 \1 x$ B% P: O& b: O. }. u% {' R& d
8 脚本动作5 l/ _' N* t6 w7 k/ K! s! S

3 W  ], c) O* m部署成功后,该脚本将:
9 T& X+ I& y" B2 {--从 Goerli 转 0.001 ETH 到 zkSync* q  P1 {3 n  M: `
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
3 H0 ^& q6 g1 @  I--从调用该方法的合约中检索消息greet()
( b# s0 y3 Y* b1 F/ b- ?* W1 k& Q--使用该方法更新合约中的问候消息setGreeting()
. R" B7 Y( Z3 P9 u" u--再次从合约中检索消息2 ^  X/ q: C+ }( d
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6