{"id":31943196,"url":"https://github.com/zksecurity/noname","last_synced_at":"2025-10-14T09:50:01.136Z","repository":{"id":39699763,"uuid":"500242139","full_name":"zksecurity/noname","owner":"zksecurity","description":"Noname: a programming language to write zkapps","archived":false,"fork":false,"pushed_at":"2025-10-08T14:39:43.000Z","size":39278,"stargazers_count":221,"open_issues_count":102,"forks_count":75,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-10-08T16:28:33.121Z","etag":null,"topics":["circuit","kimchi","zero-knowledge","zkapps"],"latest_commit_sha":null,"homepage":"https://zksecurity.github.io/noname/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zksecurity.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-06T00:10:21.000Z","updated_at":"2025-10-08T14:33:11.000Z","dependencies_parsed_at":"2024-05-28T07:37:37.313Z","dependency_job_id":"51a800f4-8a3a-4ea5-a8d4-62687d265b3d","html_url":"https://github.com/zksecurity/noname","commit_stats":null,"previous_names":["zksecurity/noname"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/zksecurity/noname","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zksecurity%2Fnoname","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zksecurity%2Fnoname/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zksecurity%2Fnoname/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zksecurity%2Fnoname/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zksecurity","download_url":"https://codeload.github.com/zksecurity/noname/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zksecurity%2Fnoname/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018555,"owners_count":26086404,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["circuit","kimchi","zero-knowledge","zkapps"],"created_at":"2025-10-14T09:49:58.573Z","updated_at":"2025-10-14T09:50:01.131Z","avatar_url":"https://github.com/zksecurity.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Screenshot 2024-07-17 at 2 14 40 PM](https://github.com/user-attachments/assets/b2b84f62-3ac6-45c9-a005-b5b764916b6b)\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/zksecurity/noname)\n\nNoname is a high-level programming language inspired by Rust and Golang to write zero-knowledge applications. The language can support multiple constraint systems, and currently compiles down to R1CS (for [SnarkJS](https://github.com/iden3/snarkjs)) and Plonk (for [kimchi](https://github.com/o1-labs/proof-systems)).\n\n```rust\nfn main(pub public_input: Field, private_input: Field) -\u003e Bool {\n    let xx = private_input + public_input;\n    assert_eq(xx, 2);\n    let yy = xx + 6;\n    return yy == 8;\n}\n```\n\n\u003e [!IMPORTANT]\n\u003e Noname is currently in Beta, and there are a large number of known limitations. Please check the [issues](https://github.com/zksecurity/noname/issues) if you find something that doesn't work, or if you want to start contributing to this project!\n\nYou can run the above example with the following command:\n\n```console\n$ noname test --path examples/public_output_bool.no --private-inputs '{\"private_input\": \"1\"}' --public-inputs '{\"public_input\": \"1\"}' --debug\n```\n\nOn particularity of noname is the `--debug` option that shows you how the code relates to the compiled constraints:\n\n\u003cimg width=\"871\" alt=\"Screen Shot 2022-11-11 at 11 01 45 PM\" src=\"https://user-images.githubusercontent.com/1316043/201461923-8d6d6756-9faa-40fe-8f71-16334a4cb98d.png\"\u003e\n\n## Quick Start\n\nTo get started with no strings attached, you can use the [Noname Code Playground](https://noname-playground.xyz) to write and run your code in the browser. Alternatively, you can install the compiler on your system.\n\nYou need to install the compiler from source using [cargo](https://rustup.rs/).  You can do this by running the following command:\n\n```console\n$ cargo install --git https://www.github.com/zksecurity/noname\n```\n\nThen simply write `noname` in the console to get access to the CLI. See the [Usage](#usage) section for more information on usage.\n\n```console\n$ noname\n```\n\n[Learn more about how to use noname in the deepwiki documentation](https://deepwiki.com/zksecurity/noname/1-overview).\n\n## More Resources\n\nWe have a lot of resources to learn and understand how noname works:\n\n- [Noname Book](https://zksecurity.github.io/noname): A high-level language to write circuits using a zero-knowledge proof system\n- [Noname Playground](https://noname-playground.xyz): Write, run, and prove Noname code in the browser\n- [Kimchi](https://minaprotocol.com/blog/kimchi-the-latest-update-to-minas-proof-system): The latest update to Mina’s proof system\n- Series of [blog posts](https://cryptologie.net/article/573) to read more about the noname\n- [Noname meets Ethereum](https://www.zksecurity.xyz/blog/posts/noname-r1cs/): Integration with SnarkJS\n- [Noname Code Walkthrough](https://www.youtube.com/live/pQer-ua73Vo)\n- Join us on the [Noname Telegram](https://t.me/+VSChAOmJQgQzODcx)\n\n## Usage\n\nOnce [noname is installed on your system](#installation), use `noname new` to create a project in a new directory, or `noname init` to initialize an existing directory. For example:\n\n```\n$ noname new --path my_project\n```\n\nThis will create a `Noname.toml` manifest file, which contains the name of your project (which must follow a Github `user/repo` format) as well as dependencies you're using (following the same format, as they are retrieved from Github).\n\nThis will also create a `src` directory, which contains a `main.no` file, which is the entry point of your program. If you want to create a library, pass the `--lib` flag to the `new` or `init` command of `noname`, and it will create a `lib.no` file instead.\n\n```\n$ tree\n.\n├── Noname.toml\n└── src\n    └── main.no\n```\n\nYou can then use the following command to check the correctness of your code (and its dependencies):\n\n```\n$ noname check\n```\n\nor you can test a full run with:\n\n```\n$ noname test\n```\n\nwhich will attempt to create a proof and verify it. See the [examples](https://github.com/zksecurity/noname/tree/main/examples) folder to see how to use it.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzksecurity%2Fnoname","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzksecurity%2Fnoname","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzksecurity%2Fnoname/lists"}