Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1228 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:% v* B) E2 T+ V! K# y
1 为什么要在zkSync Era部署智能合约/ O& J! Y) y/ A
3 R* f9 c2 o8 Q! X
超级空投规则的核心原则有两个:
& n; k, s- U% l7 J/ a--链上行为,包括跨链、Swap、LP、投票等
. @( I+ u9 b% m* h; F. e- {--链上资产价值) ]3 t; ~- [4 ~( ~# ~! u5 x
为了猎取空投,我们需要尽可能丰富链上行为
# L. s1 a$ R8 ^另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移& b9 c  J  o, o- K! S

" ^0 T; `8 i4 D2 w- `; t; C, f3 v2 系统环境准备
: K4 p' u- v9 h) d4 K+ ^8 Y) V( J) F% _! l: z/ a4 H' f
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理2 G0 i8 }4 U3 ^3 y. O; D
--windows系统,建议使用PowerShell进行以上操作3 M. Y/ K( E4 u# d$ v
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可' I4 ^! @7 c# n# |
3 准备一些Göerli测试网ETH7 ]# e( l- A. T2 u
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署0 R. Y/ m9 ~! s( W7 R
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
& I% J+ i* U6 S5 L推荐使用Alchemy的水龙头$ ^3 z" c; W5 G4 B" ?! l3 L% e
6 T* X5 m0 D4 o" {- O4 W2 ^
https://goerlifaucet.com/5 z0 r  z' q* n- u- u5 G, |
4 初始化项目" L/ w. U. p$ D0 c
6 m" s" H2 t  J' ^
在PowerShell中运行以下命令:1 }- @7 V1 K0 _
mkdir greeter-example
3 B) c: ~  v, V; N% e* `- [8 k& Ccd greeter-example
+ h# |7 g  m8 d. U/ L* vyarn init -y
& T, L! ~1 @8 G7 _5 Wyarn 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-deploy6 O* G. u) q+ S  y3 r

2 g9 |0 U& f; a" v5 配置
/ M; s( q  ^! h7 D" R# n2 S) T
& P8 f+ K! d% M$ b" [* F--使用“touch hardhat.config.ts”命令创建配置文件1 c0 y- `" e$ m* I
--使用“notepad.exe hardhat.config.ts”打开配置文件$ X$ Y. C7 n& N2 K
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
2 P+ g$ N0 ]' l8 H- K6 ^# [8 j. r& w& e4 P
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration5 |7 ~: b8 N( K; t# c
6 编译合约- X+ n5 Y7 R# ^7 g

4 p$ W7 p% n, f. q* }--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件
; s2 d5 O2 A7 A( ?--使用“touch contracts/Greeter.sol”创建智能合约文件; V9 y( ~3 s; D, @  r; m4 j: Z& H4 L- I
--使用“notepad.exe contracts/Greeter.sol”命令打开文件
6 ~: B$ ^7 N% r0 [! O. G--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件" Y) S0 U& R: h# Q4 b/ m& G
--运行“yarn hardhat compile”命令编译: T) \. ~" {# o( j4 N
; ?# i: u9 ?* z
7 部署合约& r, Y, \8 R/ v6 P
, V3 O4 S3 V+ r8 C0 i- d6 j( \% K/ D
--使用“mkdir deploy”命令创建deploy文件夹* D/ s/ G: S. E& G
--使用“touch deploy/deploy.ts”创建部署配置文件
: m1 \1 u$ L5 @# ]% M. |; ^0 J--使用“notepad.exe deploy/deploy.ts”命令打开配置文件
+ M6 I) V. N: [8 k: {. N--在官方文档找到deploy.ts代码,将其粘贴到本地
8 b, i9 U2 u. X7 F3 X0 e" q--将代码中的WALLET-PRIVATE-KEY替换为私钥0 ^$ Z( C0 H0 r# S2 |, w
--运行“yarn hardhat deploy-zksync”以部署
$ L- S1 x  Q. u  S4 c" `' q4 i) f! t- ^& p6 F
8 脚本动作
  T! b- V0 I; e; O. C+ X* o
) Z! B& W/ u( T2 o- i1 h- n部署成功后,该脚本将:% ]* M) i7 L! c) |& W0 V0 [. ~
--从 Goerli 转 0.001 ETH 到 zkSync
# t0 y  R# X* e' W0 Q; G$ q--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网6 R" {, q% ^4 f
--从调用该方法的合约中检索消息greet()8 }) K/ q: P: X7 y4 X% [5 x
--使用该方法更新合约中的问候消息setGreeting()
+ q$ Q4 U7 \, q+ v7 \, E) E--再次从合约中检索消息4 a+ T( o; {5 R. ^& S+ e) n; Y' i& S
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6