如何在 zkSync Era 主网部署智能合约

原文作者:gm365

原文来源:twitter

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

前面演示过,如何用 5 分钟在 EVM 兼容链上部署一个智能合约。但刚刚尝试在 zkSync Era 上部署合约,却花了我 2 个小时

好消息是,我之前踩过的坑,你不用重踩一遍

准备好花 15 分钟来摸索的话,那可以来尝试一下

大致流程

注意:Era 不是完全的 EVM 兼容链,目前无法使用 remix 这类工具部署合约,当前建议使用 hardhat 命令行工具

? 命令行安装必须的软件包

? 准备合约文件、部署代码文件等

? 编译合约(此处有坑)

? 部署合约

? 验证合约(此处亦有坑)

部署教程

整个过程中,我大量、反复参考了 zkSync 官方文档及 @cutepandaweb3 的 Mirror 文档

我不打算赘述,请自行完整且认真参阅以下两份文档:

https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html

合约编译的坑

不论是官方教程,还是第三方教程,在合约编译时,极大概率都会报错(我在这里卡了俩小时)

@cutepandaweb3 大佬说是网络环境问题。为此,我还用一台VPS测试,同样失败

解决方案:本地重装一遍 zksync-solc 这个包

https://era.zksync.io/docs/api/hardhat/hardhat-zksync-solc.html

zkSync Era

zkSync Era

合约部署

解决了合约编译的天坑,部署合约就顺利多了

? 请确保你 `deploy.ts` 文档填入了正确的 Era 主网信息、部署合约用的钱包私钥心思

? 部署合约花费相当低,当前 gas (20 gWei)下,只花了约 $0.3 左右

zkSync Era

zkSync Era

合约验证

? 此处有坑:按照官方文档方法,各种姿势,反复测试,均告失败

? 解决方案

? 改文件 deploy.ts,加一行代码

? 提取 constructor arguments

? 区块链浏览器验证合约

? 多个参数都不能填错

官方文档:

? https://era.zksync.io/docs/api/tools/block-explorer/contract-verification.html#enter-contract-details

注:此步骤非必需

zkSync ErazkSync Era

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年4月8日 下午6:27
下一篇 2023年4月8日 下午6:28

相关推荐

如何在 zkSync Era 主网部署智能合约

星期六 2023-04-08 18:28:00

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

前面演示过,如何用 5 分钟在 EVM 兼容链上部署一个智能合约。但刚刚尝试在 zkSync Era 上部署合约,却花了我 2 个小时

好消息是,我之前踩过的坑,你不用重踩一遍

准备好花 15 分钟来摸索的话,那可以来尝试一下

大致流程

注意:Era 不是完全的 EVM 兼容链,目前无法使用 remix 这类工具部署合约,当前建议使用 hardhat 命令行工具

? 命令行安装必须的软件包

? 准备合约文件、部署代码文件等

? 编译合约(此处有坑)

? 部署合约

? 验证合约(此处亦有坑)

部署教程

整个过程中,我大量、反复参考了 zkSync 官方文档及 @cutepandaweb3 的 Mirror 文档

我不打算赘述,请自行完整且认真参阅以下两份文档:

https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html

合约编译的坑

不论是官方教程,还是第三方教程,在合约编译时,极大概率都会报错(我在这里卡了俩小时)

@cutepandaweb3 大佬说是网络环境问题。为此,我还用一台VPS测试,同样失败

解决方案:本地重装一遍 zksync-solc 这个包

https://era.zksync.io/docs/api/hardhat/hardhat-zksync-solc.html

zkSync Era

zkSync Era

合约部署

解决了合约编译的天坑,部署合约就顺利多了

? 请确保你 `deploy.ts` 文档填入了正确的 Era 主网信息、部署合约用的钱包私钥心思

? 部署合约花费相当低,当前 gas (20 gWei)下,只花了约 $0.3 左右

zkSync Era

zkSync Era

合约验证

? 此处有坑:按照官方文档方法,各种姿势,反复测试,均告失败

? 解决方案

? 改文件 deploy.ts,加一行代码

? 提取 constructor arguments

? 区块链浏览器验证合约

? 多个参数都不能填错

官方文档:

? https://era.zksync.io/docs/api/tools/block-explorer/contract-verification.html#enter-contract-details

注:此步骤非必需

zkSync ErazkSync Era