zCloak Keeper is the verifier client which provides Zero-knowledge Proof for many chains,such as zCloak Network, Polkadot Network etc(base on substrate frame).
zCloak Keeper will integrate with multiple chains in the future.
component-moonbeam
- scan moonbeam addProof events
- submit transaction back to moonbeam
component-ipfs
- query raw proof bytes on ipfs and decode it to
StarkProof
- stark verify the proof and output the verify result
component-kilt
- check the validity of the credential through rootHash
The workflow of zCloak keeper is:
- keep scanning AddProof event on moonbeam
- get the cid out of the event scanned and fetch the raw proof bytes
- parse the raw proof bytes into
StarkProof
- verify the
StarkProof
with StarkVM verifier and outputrootHash
andisPassed
- query the attester address and the validity of user's credential from Kilt Network
- submit the validity, attester and verify result back to moonbeam
-[ ] introduce database -[ ] enhance message queue utility
- integrate with other evm-compatible chains
- introduce p2p and raw consensus
- introduce threshold signature
Download the binary from main branch.
git clone [email protected]:zCloak-Network/zCloak-keeper.git
cd zCloak-keeper/
cargo build --release
chain name | frame | doc |
---|---|---|
Moonbeam | substrate | [WIP] |
Some Networks which based on substrate want to provide Zero-knowledge Proof should dependend starks verifier seperate pallet in runtime.
zcloak-keeper --help
zcloak Keeper 0.1.0
zCloak keeper node start config
USAGE:
zcloak-keeper <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
help Prints this message or the help of the given subcommand(s)
start start zCloak Server
start zCloak Keeper
for instance:
zcloak-keeper start --config ./config1.json --cache-dir ./data --start-number 100
$ zcloak-keeper start --help
zcloak-keeper-start 0.1.0
start zCloak Server
USAGE:
zcloak-keeper start [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
OPTIONS:
--cache-dir <cache-dir> The zCloak keeper node msg queue cache directory
--config <config> The zCloak keeper node config file path
-s, --start-number <start-number> The starting block number of scanning node events
--config
the path of zCloak keeper's config file--cache-dir
the directory path which zCloak keeper cache the message queue files-s
or--start-number
where to start the moonbeam series networks scan
- Env set
cargo install taplo-cli
- build
make build