体验zksync-1
zksync 是用于以太坊的、可扩展的、隐私交易的引擎。它目前的功能范围包括以太币(ETH)和ERC20代币的隐私交易。zkSync建立在ZK Rollup架构上。zk Rollup 的本质是将链上的用户状态压缩存储在一棵 hash 树中,并将用户状态的变更转移到链下来,同时通过 zkSNARK 的证明来保证该链下用户状态变更过程的正确性。在链上直接处理用户状态的变更成本是比较高的,但是仅仅利用链上的智能合约来验证一个零知识证明的 PROOF 是否正确,成本是相对低很多的。另外必要的转账信息也会被和证明一起提交到合约,方便用户查账。用户具有存款、转账、取款等动作。通常,资产位于L1之上,经过存款动作即为将资产转移至Rollup L2。位于Rollup L2之上的字长方可转移。
step1 准备工作
https://github.com/matter-labs/zksync/blob/master/docs/setup-dev.md
Docker、node(10.20.1以上,版本以10为基准,不建议11 或者12 )、Yarn、Axel、gnu-sed、Envsubst、Rust、JQ、PSQL、Diesel、solc、drone cli都是必须要安装的。
1.1 环境配置:
讲下面的环境变量加入shell profile,以zsh为例:
1 | Add path here: |
ZKSYNC_HOME
是zksync项目的目录即可,例如/home/will/documents/zksync/
。
1.2 zshrc 配置
1 | echo "fpath=(~/.zsh_comp $fpath)" >> ~/.zshrc |
1.3 制作命令文件
1 | compdef zksync |
1.4 source
zshrc 文件后,zksync命令即可用。
step2 zksync设置本地开发环境
2.1 初始化
1 | zksync init |
首次初始化需要一次性下载 8 GB 的配置文件。如遇到初始化问题,请参看zksync plonk-setup
命令。本人网速580KB/s的情况下,接近4个小时完成下载。