摘要:2020最后一天,感触颇多。一年时间,聚焦在零知识证明的技术应用,时间过的好快。新的零知识证明算法解决初始设置问题,解决FFT计算性能问题,解决递归证明问题。零知识证明有广阔的应用场景和空间,但是,目前工程应用还是偏弱。如何工程上更好的应用零知识技术,提高零知识证明的计算性能是Trapdoor Tech致力的方向和目标。

2020最后一天,感触颇多。一年时间,聚焦在零知识证明的技术应用,时间过的好快。新的零知识证明算法解决初始设置问题,解决FFT计算性能问题,解决递归证明问题。零知识证明有广阔的应用场景和空间,但是,目前工程应用还是偏弱。如何工程上更好的应用零知识技术,提高零知识证明的计算性能是Trapdoor Tech致力的方向和目标。

zkSync是值得好好学习的L2方案。最近有空梳理了一下zkSync服务实战的流程,感兴趣的小伙伴可以对照着跑跑,感受一下L2的魅力,感受一下零知识证明的应用。

安装环境准备

zkSync提供了完整的前后端以及智能合约的实现。在运行zkSync系统之前需要安装很多依赖库和工具,大家可以按照下面的链接设置开发环境。

https://github.com/matter-labs/zksync/blob/master/docs/setup-dev.md

端口映射

zkSync系统使用如下的一系列端口,总结如下:

8080:客户端访问接口

8545:以太坊web3接口

3001:REST API接口

3030:HTTP RPC接口

3031:WS RPC接口

7000:浏览器服务端口

启动Server

先下载源代码:

https://github.com/matter-labs/zksync

在“安装环境准备”的步骤中,设置了ZKSYNC_HOME和PATH环境变量,所以可以直接使用zksync命令启动server。

zksync init
ulimit -n 4096
zksync server

默认情况下,Server会启动以太坊的local开发网络。在zksync init的步骤中,会在开发网络上部署智能合约。

启动Prover

零知识证明的计算是由Prover完成的。

zksync prover

启动前端服务

修改 js/env-config.js,配置四个服务的IP以及端口:

     "http://localhost": {
         API_SERVER: "http://localhost:3001",
         ETH_NETWORK: "localhost",
         WS_API_ADDR: "ws://localhost:3031",
         HTTP_RPC_API_ADDR: "http://localhost:3030",
     }

启动client:

zksync client

启动浏览器服务

zkSync的浏览器提供区块以及交易信息,启动方式如下:

zksync explorer

启动前端

zkSync依赖metamask进行交易签名,在打开前端页面之前需要配置metamask,RPC网络接口:

image.png

在创建以太坊的local开发网络时,在创世纪区块中指定了一些铸币地址。所有的账户信息可以查看:

docker/geth/standard-dev.json

列举其中的一个账户的地址以及私钥信息,大家可以用这个账户登陆metamask体验:

地址:0x36615Cf349d7F6344891B1e7CA7C72883F5dc049
私钥:0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110

在完成了RPC接口以及账户信息配置后,可以启动前端页面:

http://ip:8081/

主页面如下:

image.png

通过主页面,可以查询当前L1/L2的资产情况,可以L1/L2之间存取资产,可以L2账户之间转账。

鼓励感兴趣的小伙伴,多动手实践。2020,再见,2021,加油,Trapdoor Tech加油~

来源:Star Li

更新日期:
文章标签: ,,
文章链接: L2 – zkSync服务搭建  [复制链接]
站方声明: 比推所有文章都只代表作者观点,不构成投资建议。投资有风险,后果自负。