零知识证明
用零知识证明实现隐私交易示例
Warning:当前代码仅为原型验证系统,请勿用于生产环境。
示例中使用的环境如下:
- Rust:
rustc 1.34.1 (fc50f328b 2019-04-24)
- CITA:develop commit 为
87e11818081a9d2a883341bebf2aeb95c59c15fd
- zktx:master commit 为
03fcc4b02432f42e53563deccdaaa767fd7a0ad6
- zktx_example:master commit 为
b37ec8fe88fb2d8a48a4651419ed0c536d047c73
准备工作
clone
zktx_example 代码clone
CITA 代码
生成参数
使用 zktx_example 生成隐私交易需要的参数文件,命令如下:
cd zktx_example && cargo run --release --bin gen_params
生成 PARAMS
的文件夹。
CITA
链
运行 CITA
开启隐私交易功能
详细信息可查看 zk_privacy 文档,如下操作:
修改 cita-executor/Cargo.toml。 在 [features] 下面 default 列表中增加 privatetx 。
CITA
编译 详细信息可查看 编译 CITA 文档,如下操作:
./env.sh make
CITA
配置
生成 本实例运行一个节点,更多信息查看配置。
进入
target/install
拷贝
PARAMS
到resource
cp ../../../zktx_example/PARAMS resource -r
生成配置信息
bin/cita create --super_admin "0x4b5ae4567ad5d9fb92bc9afd6a657e6fa13a2523" --nodes "127.0.0.1:4000" --resource_dir resource
CITA
运行 详细信息查看运行 CITA
初始化
bin/cita setup test-chain/0
启动
bin/cita start test-chain/0
zktx_example
的测试
运行 cd ../../zktx_example && cargo run --release --bin client