{"id":25417431,"url":"https://github.com/zcloak-network/zcloak-keeper","last_synced_at":"2025-10-31T09:31:21.793Z","repository":{"id":37238444,"uuid":"391795751","full_name":"zCloak-Network/zCloak-keeper","owner":"zCloak-Network","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-12T16:18:53.000Z","size":849,"stargazers_count":8,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"integration-test","last_synced_at":"2023-03-18T04:01:15.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zCloak-Network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-02T02:39:16.000Z","updated_at":"2023-03-06T17:32:12.000Z","dependencies_parsed_at":"2022-08-18T18:30:52.354Z","dependency_job_id":null,"html_url":"https://github.com/zCloak-Network/zCloak-keeper","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zCloak-Network%2FzCloak-keeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zCloak-Network%2FzCloak-keeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zCloak-Network%2FzCloak-keeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zCloak-Network%2FzCloak-keeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zCloak-Network","download_url":"https://codeload.github.com/zCloak-Network/zCloak-keeper/tar.gz/refs/heads/integration-test","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239171869,"owners_count":19594047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-16T17:58:52.101Z","updated_at":"2025-10-31T09:31:16.466Z","avatar_url":"https://github.com/zCloak-Network.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zCloak Keeper\n\n[![GitHub issues](https://img.shields.io/github/issues/zcloak-network/zcloak-keeper)](https://github.com/zCloak-network/zCloak-keeper/issues) [![GitHub forks](https://img.shields.io/github/forks/zcloak-network/zcloak-keeper)](https://github.com/zCloak-Network/zCloak-keeper/network) [![GitHub license](https://img.shields.io/github/license/zcloak-network/zcloak-keeper)](https://github.com/zCloak-Network/zCloak-keeper/blob/main/LICENSE)\n\nzCloak Keeper is the verifier client which provides Zero-knowledge Proof for many chains,such as zCloak Network, Polkadot Network etc(base on substrate frame).\n\nzCloak Keeper will integrate with multiple chains in the future.\n\n## Components\n**component-moonbeam**\n- scan moonbeam addProof events\n- submit transaction back to moonbeam\n\n**component-ipfs**\n- query raw proof bytes on ipfs and decode it to `StarkProof`\n- stark verify the proof and output the verify result\n\n**component-kilt**\n- check the validity of the credential through rootHash\n\n## Process\nThe workflow of zCloak keeper is:\n1. keep scanning AddProof event on moonbeam\n2. get the cid out of the event scanned and fetch the raw proof bytes\n3. parse the raw proof bytes into `StarkProof`\n4. verify the `StarkProof` with StarkVM verifier and output `rootHash` and `isPassed`\n5. query the attester address and the validity of user's credential from Kilt Network\n6. submit the validity, attester and verify result back to moonbeam\n\n## Todos in near future\n-[ ] introduce database\n-[ ] enhance message queue utility\n\n## Future Plan\n- integrate with other evm-compatible chains\n- introduce p2p and raw consensus\n- introduce threshold signature\n\n\n## Installation\n\n### Download from GitHub\nDownload the binary from [main branch](https://github.com/zCloak-Network/zCloak-keeper).\n\n### Build from source\n```\ngit clone git@github.com:zCloak-Network/zCloak-keeper.git\ncd zCloak-keeper/\ncargo build --release\n```\n\n## Surpport Chain\n| chain name | frame | doc   |\n|------------| ----- |-------|\n| Moonbeam   | substrate | [WIP] |\n\nSome Networks which based on substrate want to provide Zero-knowledge Proof should dependend starks verifier seperate pallet in runtime.\n\n\n## Usage\nzcloak-keeper --help\n\n```\nzcloak Keeper 0.1.0\nzCloak keeper node start config\n\nUSAGE:\n    zcloak-keeper \u003cSUBCOMMAND\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nSUBCOMMANDS:\n    help     Prints this message or the help of the given subcommand(s)\n    start    start zCloak Server\n```\n\nstart zCloak Keeper\n\nfor instance:\n```bash\nzcloak-keeper start --config ./config1.json --cache-dir ./data --start-number 100\n```\n\n```bash\n$ zcloak-keeper start --help\n```\n\n```bash\nzcloak-keeper-start 0.1.0\nstart zCloak Server\n\nUSAGE:\n    zcloak-keeper start [OPTIONS]\n\nFLAGS:\n    -h, --help       Prints help information\n    -V, --version    Prints version information\n\nOPTIONS:\nOPTIONS:\n        --cache-dir \u003ccache-dir\u003e          The zCloak keeper node msg queue cache directory\n        --config \u003cconfig\u003e                The zCloak keeper node config file path\n    -s, --start-number \u003cstart-number\u003e    The starting block number of scanning node events\n```\n\n- `--config` the path of zCloak keeper's config file\n- `--cache-dir` the directory path which zCloak keeper cache the message queue files\n- `-s` or `--start-number` where to start the moonbeam series networks scan\n\n## Let's Hack\n1. Env set\n```bash\ncargo install taplo-cli\n```\n\n2. build\n```bash\nmake build\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzcloak-network%2Fzcloak-keeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzcloak-network%2Fzcloak-keeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzcloak-network%2Fzcloak-keeper/lists"}