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网络接口:
在创建以太坊的local开发网络时,在创世纪区块中指定了一些铸币地址。所有的账户信息可以查看:
docker/geth/standard-dev.json
列举其中的一个账户的地址以及私钥信息,大家可以用这个账户登陆metamask体验:
地址:0x36615Cf349d7F6344891B1e7CA7C72883F5dc049 私钥:0x7726827caac94a7f9e1b160f7ea819f172f7b6f9d2a97f992c38edeab82d4110
在完成了RPC接口以及账户信息配置后,可以启动前端页面:
http://ip:8081/
主页面如下:
通过主页面,可以查询当前L1/L2的资产情况,可以L1/L2之间存取资产,可以L2账户之间转账。
鼓励感兴趣的小伙伴,多动手实践。2020,再见,2021,加油,Trapdoor Tech加油~
来源:Star Li
文章来自:https://www.bitpush.news/archives/1121719?from=listen
文章标签: zkSync,二层,零知识证明
文章链接: L2 – zkSync服务搭建 [复制链接]
站方声明: 除特别标注, 本站所有文章均为原创, 互联分享, 尊重版权, 转载请注明.