长推:zkSync Era智能合约部署教程

Ningning.lens热度: 41729

ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移

原文作者:Ningning.lens

原文来源:twitter

注:本文来自@0xNing0x 推特,MarsBit整理如下:

1 为什么要在zkSync Era部署智能合约

超级空投规则的核心原则有两个:

--链上行为,包括跨链、Swap、LP、投票等

--链上资产价值

为了猎取空投,我们需要尽可能丰富链上行为

另一方面,因为ZkEVM的兼容性没OP L2方案好,zkSync可能需要空投奖励开发者迁移

zkevm

2 系统环境准备

--在本地电脑首先安装nodejs,设置好系统变量,再安装yarn和npm包管理

--windows系统,建议使用PowerShell进行以上操作

--yarn包安装好运行会报错“该命令无法执行”,需要设置PowerShell权限。在PowerShell输入并执行“set-ExecutionPolicy RemoteSigned”命令,确认Y选项即可

3 准备一些Göerli测试网ETH

我们先尝试在zkSync Era测试网部署智能合约,熟练之后再到主网部署

zkSync Era官方文档提供的hardhat合约部署模板,包括从Göerli测试网跨链到zkSync Era测试网的动作,所以我们需要准备一些Göerli测试网ETH

推荐使用Alchemy的水龙头

zkevm

https://goerlifaucet.com/

4 初始化项目

在PowerShell中运行以下命令:

mkdir greeter-example

cd greeter-example

yarn init -y

yarn add -D typescript ts-node @types/node ethers@^5.7.2 zksync-web3 @ethersproject/hash @ethersproject/web hardhat @matterlabs/hardhat-zksync-solc @matterlabs/hardhat-zksync-deploy

zkevm

5 配置

--使用“touch hardhat.config.ts”命令创建配置文件

--使用“notepad.exe hardhat.config.ts”打开配置文件

--将附带连接里“configuration”下的代码复制粘贴到配置文件里,然后保存关闭

zkevm

https://era.zksync.io/docs/api/hardhat/getting-started.html#configuration

6 编译合约

--使用“mkdir contracts”命令创建contracts文件夹,存放智能合约文件

--使用“touch contracts/Greeter.sol”创建智能合约文件

--使用“notepad.exe contracts/Greeter.sol”命令打开文件

--在官方文档找到Greeter.sol智能合约代码,将其粘贴到本地文件

--运行“yarn hardhat compile”命令编译

zkevm

7 部署合约

--使用“mkdir deploy”命令创建deploy文件夹

--使用“touch deploy/deploy.ts”创建部署配置文件

--使用“notepad.exe deploy/deploy.ts”命令打开配置文件

--在官方文档找到deploy.ts代码,将其粘贴到本地

--将代码中的WALLET-PRIVATE-KEY替换为私钥

--运行“yarn hardhat deploy-zksync”以部署

zkevm

8 脚本动作

部署成功后,该脚本将:

--从 Goerli 转 0.001 ETH 到 zkSync

--部署Greeting带有消息“Hi there!”的合约。到zkSync Era 测试网

--从调用该方法的合约中检索消息greet()

--使用该方法更新合约中的问候消息setGreeting()

--再次从合约中检索消息

以上就是我的zkSync Era部署智能合约教程

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:zkevmzkSync