Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

zkSync Era智能合约部署教程

林中清泉筒
1218 0 0
注:本文来自@0xNing0x 推特,MarsBit整理如下:
6 L2 z% `; v/ L; u; i# V1 为什么要在zkSync Era部署智能合约2 ~8 u1 t' v8 c, t2 q8 Y) N
0 h9 }, F# ~2 q
超级空投规则的核心原则有两个:. c& d; Y' ]" a% w
--链上行为,包括跨链、Swap、LP、投票等
' T: D0 K8 }7 D- ~--链上资产价值/ ]$ E: J8 e# _$ [7 T  ~
为了猎取空投,我们需要尽可能丰富链上行为1 {& [9 p9 e) D2 ?* b9 b
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移  @- u1 R0 w- @  L# H2 D3 X% [
5 ?& L" ?8 {4 Y3 b5 _3 ^$ T
2 系统环境准备3 k5 J3 W. v( @( h; Y' z: Z: ^

; H- l3 J0 U+ i8 l- U4 K0 v--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理
3 e0 C, K1 A8 O  [* ?5 e) h--windows系统,建议使用PowerShell进行以上操作! B9 @/ d4 W& m! j2 ~7 |! @, u: w
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
4 W8 j! e3 ?* v1 A8 o- v3 c/ G3 准备一些Göerli测试网ETH8 h8 `% R1 {6 `- p' L( M+ n9 M6 x
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署/ I2 ^& e7 g' T
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH/ k3 L1 S1 c! B4 {2 t" x
推荐使用Alchemy的水龙头
) f3 {# `2 R9 o! Q3 G: ~$ U" b% I& ]$ U* B6 a6 H
https://goerlifaucet.com/+ A( X' F( b  C
4 初始化项目
! o. c  M# z4 _- }6 n' D; ~8 D( ^+ }) u6 c* R
在PowerShell中运行以下命令:$ l- O$ D$ q6 E- a2 {/ }
mkdir greeter-example  G% \0 y4 i8 J( V! T  h" o- @9 ]
cd greeter-example5 [" s% Y- k7 q
yarn init -y
( _2 @6 }, o/ @; |8 V! ryarn 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-deploy0 t# n1 x' Y- _7 f. m5 W

) ~5 t/ Q3 L4 O+ r" v1 E5 配置
) C8 F. a9 \6 ^2 m$ C- B8 G9 ~+ F9 x- G/ {
--使用“touch hardhat.config.ts”命令创建配置文件: O. x* U( z3 y" G
--使用“notepad.exe hardhat.config.ts”打开配置文件' t! H, ?5 N% |, P# A2 n% z( F# J
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭
* v$ T9 z7 i; b6 S# t9 \$ Q
$ S1 g2 B" |. K% {: Vhttps://era.zksync.io/docs/api/hardhat/getting-started.html#configuration% o9 U5 T( ]4 f
6 编译合约' A: X! P1 ~3 `/ A4 E

' G. l) n3 V+ B( w' U--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件: \. ]9 K# _1 h5 v- }" J% z6 h
--使用“touch contracts/Greeter.sol”创建智能合约文件' \5 e5 O$ ]2 Y7 h$ B) A; h  f: Z. m
--使用“notepad.exe contracts/Greeter.sol”命令打开文件
8 i+ ?% Y9 i- p--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
" l6 S+ c% v4 Q4 I$ [5 P--运行“yarn hardhat compile”命令编译) [  z: g( d% d, e6 l/ O

3 a! k- V( X; p+ E7 部署合约) z& b. t1 k  m9 m/ Z

' s/ P5 z! n6 \  V  _. `--使用“mkdir deploy”命令创建deploy文件夹
5 |- k2 _; s3 G5 O6 G& B--使用“touch deploy/deploy.ts”创建部署配置文件: y# _0 R1 I. _. N& `
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件5 U4 y8 F; m8 ^% A
--在官方文档找到deploy.ts代码,将其粘贴到本地
( h2 {# f6 z( I6 X* u, V/ _: F# q--将代码中的WALLET-PRIVATE-KEY替换为私钥
0 P( k9 J8 X- j" ^* L) w--运行“yarn hardhat deploy-zksync”以部署1 L9 h$ N6 a7 t
$ D$ ?$ X8 w  }! q- h
8 脚本动作
' X) _  b; V, x" f2 s3 W0 X7 R$ x/ _8 t% K8 L* G% p( h5 m
部署成功后,该脚本将:
7 |% c6 G" x0 j, l$ w+ {; Z--从 Goerli 转 0.001 ETH 到 zkSync/ L1 h5 x  q: E
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网9 e! b$ C2 F  m5 ]. p% s
--从调用该方法的合约中检索消息greet(). y, Y! \6 j* A* T) O
--使用该方法更新合约中的问候消息setGreeting()1 O* V" X5 V! I- F7 P' G( w. ?. w
--再次从合约中检索消息
$ p% I2 U! ~/ M, n以上就是我的zkSync Era部署智能合约教程
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

林中清泉筒 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    6