# 【交互教程】zkSync2.0测试网部署合约手把手教学 **Published by:** [加密小师妹](https://paragraph.com/@0x1890/) **Published on:** 2023-02-15 **URL:** https://paragraph.com/@0x1890/zksync2-0 ## Content 哈喽,大家好!我是陪你一起撸空投的加密小师妹Monica 各位小伙伴们早,中,晚好啊!我来啦,今天给大家带来的是zkSync2.0测试网部署合约教程 为了zkSync将生态发扬广大,从我做起(其实是因为有个POAP可以领),作为志愿者的我,联合好朋友7哥@newbee740.lens给新手小伙伴们带来的手把手教学! 为什么说是手把手教学,因为通过我不懈的努力,从基础环境配置开始到如何编译,到提交申请,几乎所有大家碰到的问题我基本上都碰到了,都给大家找出来解决办法了! 本次交互是由zkSync公司Matterlabs开发工程师Antonio在L2研讨会发布的任务,完成后有个gitpoap作为奖励可以领,目前领取的人很少,因为技术门槛相对其他交互教程高,是针对开发者开放的,小伙伴们,做好迎接挑战的准备了吗?本篇教程从以下几个方面展开:准备工作(本地电脑环境部署,常用到的软件教程)如何编译zks2.0测试网如何提交申请新手零基础可以上手,基本遇到的问题小师妹这里都做了解决方案以及提示,学会后你可以在zkSync2.0上部署合约,除了领到的POAP作为参与证明,也对我们交互zkSync的链上记录会有所帮助。 如果你想了解更多精品资讯以及空投教程,请关注加密小师妹的推特哦!还有更多的抽奖福利送给大家! 推特:@加密小师妹Monica一、准备工作1.首先我们需要用到的是Github账号,这个申请很简单,就和其他注册账号流程一样,我就不做介绍啦,应该大部分小伙伴都有了,没有的直接进入 github.com 申请。 2.其次我们需要准备一个Goerli水的钱包和私钥,谨慎起见,小号就可以。小号没有领水的,点击这里领水 3.我们需要在本地电脑进行部署,所以需要配置基础环境,需要Git和node环境还有vscode编译软件这个可能懂开发的小伙伴们基本上电脑已经配置好了,新手小伙伴不用慌,小师妹找到了配置教程,非常详细,我是按照这个教程配置的。已经配置好的小伙伴们跳过! Git安装教程(安装好以后,可以任意clone开源代码到本地,未来大有用处!)Git的安装教程(完成clone一个项目到本地)_先clone下来,安装-CSDN博客文章浏览阅读2w次,点赞19次,收藏42次。本文详细介绍了如何使用国内阿里镜像下载并安装Git,并配置环境变量及用户信息,以便于从GitHub等平台克隆项目。https://blog.csdn.netNodejs下载以及安装Node.js最新最详细安装教程-巨详细_node js 安装-CSDN博客文章浏览阅读10w+次,点赞344次,收藏919次。本文提供了一步一步的Node.js安装教程,包括从官网下载安装包、选择安装路径、安装选项,到验证安装成功及可选的全局模块路径和缓存路径修改,帮助读者顺利完成Node.js环境搭建。https://blog.csdn.netVSCode安装教程(这个是比较主流的代码编辑器)VSCode安装教程(超详细)-CSDN博客文章浏览阅读10w+次,点赞1.5k次,收藏2.4k次。VSCode安装教程(超详细)下载安装一、同意协议(废话了我)二、选择合适的安装位置,下一步三、下一步四、这里注意下,进行相关的选择五、点击安装六、等待安装完成,很快配置中文界面上面安装完成后会出现下面的界面,我们搜索Chinese,点击install然后Restart重启后就ok了,中文界面下载下载地址:Download Visualhttps://blog.csdn.net好了,休息一下吧,能坚持做到这里的小伙伴们不容易(对新手说),到这里我们的准备工作完成了!再总结一下此刻的你应该拥有:Github账号有Goerli水的钱包及私钥本地Git和Nodejs的环境以及代码编辑软件VSCode二、如何在zkSync2.0测试网上部署合约首先我们打开官方的Github仓库,进行fork(就是把源代码分叉下来)GitHub - matter-labs/l2-intro-pre-ethdenver: Introduction to layer two and zkSyncIntroduction to layer two and zkSync. Contribute to matter-labs/l2-intro-pre-ethdenver development by creating an account on GitHub.https://github.com1.点击右上角fork,把源码分叉到自己的Github上,点击完fork以后点Create fork2.完成后会跳转,然后按照图上标示复制github地址,接下来重点来了重点:如果弹出以下画面需要你上传SSH公钥小师妹找到了如何在本地生成SSH公钥并且查看的教程:查看本机ssh公钥,生成公钥_ssh公钥查看-CSDN博客文章浏览阅读10w+次,点赞42次,收藏127次。本文介绍了如何生成和查看SSH公钥,以便于在代码服务器上进行认证,从而实现免密拉取和提交代码。提供了多种查看公钥的方法,包括使用命令行工具和直接打开文件。https://blog.csdn.net你先去生成,然后按照教程输入命令查看,怎么打开git bash窗口?就是在桌面任意空白处右键就会出现git bash here。然后复制下来,回到Github点add new public key,粘贴上去,点击Add SSH Key。3.好了,这不是复制了吗,我们同样打开电脑桌面空白处,点Git bash here,会弹出以下界面,然后输入git clone +你刚才复制的地址,再回车,就可以下载了。运行后,你会发现桌面上多了一个名字为“l2-intro-pre-ethdenver”的文件,证明你下载成功了。 4.打开下载好的这个文件,找到.env.example这个文件,用记事本打开,然后把你的钱包私钥粘贴上去,保存,重命名这个文件,把名字改成.env(就是把.example删了)改好以后是这样的5.安装hardhat。 重点注意:这里需要yarn管理包,如果你没有安装过,请打开我找的教程安装~Yarn:快速可靠的依赖管理-CSDN博客文章浏览阅读10w+次,点赞17次,收藏28次。Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具快速安装//在NPM 中安装npm install -g yarnMacOS在Mac上安装比较方便,使用初始化脚本即可 1 curl -o- -L https://yarnpkg.com/install.sh | ba..._npm install yarnhttps://blog.csdn.net安装好,我们打开刚才文件夹上方搜索栏把路径都删了,换成cmd,回车,进入命令行(这里采取命令行方式是为了方便后面,往下看就知道了)输入:yarn add hardhat --registy https://registy.npm.taobao.org/ 6.接下来进行编译项目,输入 :yarn hardhat compile 重点来啦:如果这步你显示报错,大概率是因为你的命令行没有科学上网,无法访问网站,这里的解决办法不能统一,因为大家用的科学上网软件不一样,有很多小伙伴的直接可以翻命令行。我这里只能提供我的软件-clash解决办法,这个也有不少人用,希望能帮到大家。其余的软件大家可以Google如何命令行fanqiang。把这个命令粘贴上去,再输入yarn hardhat compile 就可以啦7.部署合约到测试网,输入:yarn hardhat deploy-zksync --script deploy-greeter.ts从0x开头的一段是构造参数,下面是合约地址,两个都保存下来!后面用的到 8.验证合约去,打开zkSync2.0测试网,然后搜索刚才让大家保存的合约地址,找到Contracts,点击Verify。ZKsync Era Block ExplorerZKsync Era Block Explorer provides all the information to deep dive into transactions, blocks, contracts, and much more. Deep dive into ZKsync Era and explore the network.https://sepolia.explorer.zksync.io然后按照图填写信息,版本,合约名字,刚才保存的构造参数,源代码 名称:Greeter ZKsolc Version:v1.3.1 Solc Version:0.8.16 (PS:这里忘记截图了,借用7哥的图)源代码这里用到了我们下载好的vscode,打开以后点文件-打开文件夹,打开之前咱们桌面上下载的l2-intro-pre-ethdenver文件。找到Greeter.sol复制粘贴过去最后点击verify验证。 到这里编译工作就完事了,我们就准备去申请gitpoap去了,是的,大家辛苦了,不光你们辛苦,我写的也很累。顺便说一下,对于懂技术的小伙伴们很简单,新手小伙伴们,你能坚持到这里,我很佩服!三、申请POAP验证成功后,打开vscode,找到Deployments.md文件中按照格式添加一行,然后ctrl+s保存。建议提前编辑好格式: \合约地址\接着我们打开桌面下载的文件夹 l2-intro-pre-ethdenver,点空白处右键,gitbash here1.输入:git add .(记住.的前面有空格!) 2.输入:git commit -m “update“, 重点:如果出现以下画面,需要按照提示设置邮箱和用户名,输入: git config --global user.email "你的邮箱" git config --global user.name "你的用户名"(自行替换)3.输入:git push 这样就上传到了github仓库,然后打开GitHub - matter-labs/l2-intro-pre-ethdenver: Introduction to layer two and zkSyncIntroduction to layer two and zkSync. Contribute to matter-labs/l2-intro-pre-ethdenver development by creating an account on GitHub.https://github.com创建拉取请求,点击New pull request然后输入评论,这里我又忘了截图,小伙伴们可以像7哥一样说:get gitpoap,我喜欢在后面加个ty,哈哈哈。然后再点击Create pull request提交这样就算完成了,等待审核!终于完成了!!然后,我们等待审核去这里查看资格和领取Home | GitPOAPGitPOAP is a decentralized reputation platform that represents off-chain accomplishments and contributions on chain as POAPs.https://www.gitpoap.io可以从上面信息看到,目前领取的人数不多,我也注意到了fork的人数不到200人。 以上从本地环境配置到软件下载安装,然后从部署测试网遇到的各种问题和解决方案,小师妹都写了出来,已经尽量考虑到了大家的体验,希望对你们有所帮助!如果不能坚持也没关系,确实有难度,开心点,做自己喜欢的事情! 新的一年新开始,我会一直陪伴大家,祝大家心情愉快,身体健康! 如果你在操作过程中有任何疑问,欢迎在推特上私信小师妹。 关注我的推特,接下来小师妹会推出更多空投教程,陪你一起撸到人生的第一个百万空投Subscribe ## Publication Information - [加密小师妹](https://paragraph.com/@0x1890/): Publication homepage - [All Posts](https://paragraph.com/@0x1890/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@0x1890): Subscribe to updates - [Twitter](https://twitter.com/0x1890eth): Follow on Twitter