zkSync Era智能合约部署教程
林中清泉筒
发表于 2023-3-29 12:06:27
1206
0
0
1 为什么要在zkSync Era部署智能合约
) |$ D, {! X7 ?6 ~+ q
超级空投规则的核心原则有两个:
--链上行为,包括跨链、Swap、LP、投票等. Y: h1 U" f0 T2 A
--链上资产价值
为了猎取空投,我们需要尽可能丰富链上行为3 e# v2 {7 q+ `( [3 o4 ] V% F
另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移
" T& X; u' r4 O) t& K
2 系统环境准备
--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理- P7 z8 g% ]: c9 t. Z. A
--windows系统,建议使用PowerShell进行以上操作& Q. l ], K+ U, p
--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可
3 准备一些Göerli测试网ETH l( L( [5 _; {# ]4 z7 h
我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署6 t T6 ^: w& g* `2 R
zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH
推荐使用Alchemy的水龙头! R' C1 N$ B# {7 _# W/ K/ h6 O
https://goerlifaucet.com/) m. z! `( ^! V# d9 s, U7 a
4 初始化项目
在PowerShell中运行以下命令:
mkdir greeter-example
cd greeter-example0 n. Y( j! o7 t( z" t
yarn init -y
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-deploy
5 配置+ D' k/ d: G5 D- o y& k
--使用“touch hardhat.config.ts”命令创建配置文件
--使用“notepad.exe hardhat.config.ts”打开配置文件
--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭3 y' x, f% u1 v! G! [5 Y
1 G$ `+ D, h9 f. Z% u
https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration
6 编译合约
# ?$ m; ?0 O1 A# {! V( r+ p: Y& @
--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件
--使用“touch contracts/Greeter.sol”创建智能合约文件6 @# o; ~" T0 ?: k8 H* Z3 W
--使用“notepad.exe contracts/Greeter.sol”命令打开文件
--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件
--运行“yarn hardhat compile”命令编译
7 部署合约
--使用“mkdir deploy”命令创建deploy文件夹" @$ E- j t% m" n
--使用“touch deploy/deploy.ts”创建部署配置文件" ^6 o+ M4 P, F
--使用“notepad.exe deploy/deploy.ts”命令打开配置文件
--在官方文档找到deploy.ts代码,将其粘贴到本地3 {% M( ~8 s: o7 }1 O" G
--将代码中的WALLET-PRIVATE-KEY替换为私钥8 w% U9 g/ G4 [% T% G# R
--运行“yarn hardhat deploy-zksync”以部署. S1 }% ~: l* r( M( U; h5 p
5 k _6 Y2 z. r0 g0 O h3 M1 j
8 脚本动作8 J: z" B. b0 I6 D+ B+ I/ D
部署成功后,该脚本将:
--从 Goerli 转 0.001 ETH 到 zkSync4 m+ i) T6 ?7 a% y0 @
--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网
--从调用该方法的合约中检索消息greet()
--使用该方法更新合约中的问候消息setGreeting()
--再次从合约中检索消息3 J/ n2 l" X" ~* K
以上就是我的zkSync Era部署智能合约教程
成为第一个吐槽的人