Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1398 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:3 p' y8 h- L8 V+ Z$ _5 V
1 为什么要在zkSync Era部署智能合约
! H- d( x5 g# A9 d6 B
; ~2 k# L* }6 Y# l  |4 P& [7 x$ \2 u: F超级空投规则的核心原则有两个:+ U) c7 E8 r' \& `
--链上行为,包括跨链、Swap、LP、投票等& Z1 H$ g3 C0 H& n8 O1 ^
--链上资产价值# T# f( v6 M( V, L: _6 }  [
为了猎取空投,我们需要尽可能丰富链上行为
! z4 N* Y3 U$ P另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移6 P) U$ o% V" f9 I+ E6 q
/ A( V7 H3 d: l4 P
2 系统环境准备5 m0 u, J2 G6 z3 y2 K
# T3 {& L( |/ K/ ?/ x9 Z% |6 N
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理
: D1 @+ `4 L% F& v$ v* g# ]--windows系统,建议使用PowerShell进行以上操作
: S- k' T  t, Y+ Y! }--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可# Z/ G2 U6 n7 X& ]* B" h8 f
3 准备一些Göerli测试网ETH( t) m5 z+ G5 ^, G& I
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署" d3 @) M+ J! `6 Y. @
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
8 P$ o7 x8 t6 L9 q% I$ h推荐使用Alchemy的水龙头( f6 O3 _, p; [) Y
8 z. i3 C2 T! q
https://goerlifaucet.com/
6 p6 V5 x# ^+ E; a% Y6 ?+ ~4 初始化项目" v! K' I# Y" u$ W# D

- y" O. P! `2 @' P在PowerShell中运行以下命令:
* X# E" ^1 z5 `4 L; g5 jmkdir greeter-example
+ t7 Y0 c) J* _& c. ?cd greeter-example* f4 s+ |% x& Q
yarn init -y
: m' E7 x& u" |& a' 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
- t8 f5 O  d) @1 W) d: u
& ?& j8 P; c, n- ^5 配置
  x( }* e8 }# r+ E" o! H" U
% K$ W9 e9 c, I7 D--使用“touch hardhat.config.ts”命令创建配置文件
: m9 y0 _0 `" z: Z+ Z# h# d+ ~--使用“notepad.exe hardhat.config.ts”打开配置文件+ J1 D2 A" q) M) u$ J- E; v
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭- [& ^# j8 K, N0 V: l* Q7 j
- }1 c8 h( g5 f! l4 k
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration% I! a$ y: e: v+ c. f. m
6 编译合约
5 @$ C" h- Q0 b! d# y: b# s9 W6 e1 Z: i# o% n; m1 k  _+ t
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件1 C% o9 S* n. f3 B- Y5 @
--使用“touch contracts/Greeter.sol”创建智能合约文件( ?9 P. W  ?* A, d6 b
--使用“notepad.exe contracts/Greeter.sol”命令打开文件" ~* M3 R* y* p! v8 a$ t0 D
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
/ M7 v7 S; \0 S5 l3 I0 |5 n% o( M--运行“yarn hardhat compile”命令编译
1 y& K0 m7 l  e+ S6 V  |, ?6 o' C
7 部署合约% W# g1 X* H# O' ^! _1 h
& a2 O% w/ y# y, n9 q! C2 g
--使用“mkdir deploy”命令创建deploy文件夹+ _. C+ O4 I; ]$ n% d/ r
--使用“touch deploy/deploy.ts”创建部署配置文件8 ]7 v) E1 O3 u0 D8 \
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件
2 H2 {: n" E3 ?. V1 a" k& `--在官方文档找到deploy.ts代码,将其粘贴到本地
2 W$ E3 @* W# Q- m1 O; V) X--将代码中的WALLET-PRIVATE-KEY替换为私钥
' x  g# \2 `, l$ \--运行“yarn hardhat deploy-zksync”以部署
! G$ Q8 r8 U0 N, Y
& K$ O5 }; G7 p9 H: l! ]4 a8 脚本动作
; v8 w" v2 F- l1 V5 r- m1 K. d; j/ J
6 D, N" c# r- n' Z( r; c: ?部署成功后,该脚本将:
8 ?4 }8 @& B$ [: A8 u: d0 L- ]--从 Goerli 转 0.001 ETH 到 zkSync
  C7 q1 r. W; G; N--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网; `; a! v2 ~8 \
--从调用该方法的合约中检索消息greet()1 a+ l7 W* W3 K6 G0 T- m
--使用该方法更新合约中的问候消息setGreeting(); S7 L" ~& L4 N  ^$ q
--再次从合约中检索消息2 K% @: q3 W7 E; ?. X" t& Z8 Z
以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6