{"id":15065012,"url":"https://github.com/dyne/zenroom","last_synced_at":"2025-04-14T05:16:11.348Z","repository":{"id":37009502,"uuid":"112839586","full_name":"dyne/Zenroom","owner":"dyne","description":"Embedded no-code VM executing human-like language to manipulate data and process cryptographic operations.","archived":false,"fork":false,"pushed_at":"2025-04-11T09:45:00.000Z","size":62807,"stargazers_count":213,"open_issues_count":70,"forks_count":69,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-04-14T05:15:30.788Z","etag":null,"topics":["bdd","blockchain","crypto","dyne","gherkin","language","lua","no-code","portable","portable-virtual-machine","vm","webassembly"],"latest_commit_sha":null,"homepage":"https://dev.zenroom.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dyne.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":["dyne"],"ko-fi":"dyneorg"}},"created_at":"2017-12-02T12:15:05.000Z","updated_at":"2025-04-08T21:09:30.000Z","dependencies_parsed_at":"2024-01-15T17:08:39.372Z","dependency_job_id":"8828305c-d62b-45e4-b94e-a3de928078bc","html_url":"https://github.com/dyne/Zenroom","commit_stats":{"total_commits":3812,"total_committers":43,"mean_commits":88.65116279069767,"dds":0.3995278069254984,"last_synced_commit":"dadea61c5550a0f69f12fb13d8e94ba1b4ff8536"},"previous_names":["decodeproject/zenroom"],"tags_count":260,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2FZenroom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2FZenroom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2FZenroom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyne%2FZenroom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dyne","download_url":"https://codeload.github.com/dyne/Zenroom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248824693,"owners_count":21167345,"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":["bdd","blockchain","crypto","dyne","gherkin","language","lua","no-code","portable","portable-virtual-machine","vm","webassembly"],"created_at":"2024-09-25T00:29:30.914Z","updated_at":"2025-04-14T05:16:11.316Z","avatar_url":"https://github.com/dyne.png","language":"C","funding_links":["https://github.com/sponsors/dyne","dyneorg"],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2017-2022 Dyne.org foundation\n\nSPDX-License-Identifier: AGPL-3.0-or-later\n--\u003e\n\n# Zenroom crypto VM\n\n[![Zenroom logo](docs/_media/images/zenroom_logotype.png)](https://zenroom.org)\n\nZenroom is a **secure language interpreter** of the domain-specific Zencode, making it easy to execute fast cryptographic operations on any data structure.\n\nThe Zenroom VM is very small, has **no external dependency**, is fully deterministic and is ready to run **end-to-end encryption** on any platform: desktop, embedded mobile, cloud micro-services, and web browsers. Zenroom works inside applications written in Javascript, Python3, Rust or Golang.\n\nZencode has a **no-code** approach. It is a domain-specific language (DSL) **similar to human language**. One can process large data structures through complex cryptographic and logical transformations.\n\nZencode helps developers to **empower people** who know what to do with data: one can write and review business logic and data-sensitive operations **without learning to code**.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://dyne.org\"\u003e\n    \u003cimg src=\"https://files.dyne.org/software_by_dyne.png\" width=\"170\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Timeline\n\n- 2017 - Proof of Concept\n- 2018 - Prototype and Alpha release series\n- 2019 - Stable release series `v1` (now EOL)\n- 2022 - Stable release series [v2](https://github.com/dyne/Zenroom/tree/v2) until LTS `v2.22.1`\n- 2023 - Stable release series [v3](https://github.com/dyne/Zenroom/tree/v3) until LTS `v3.23.4`\n- 2024 - Stable release series [v4](https://github.com/dyne/Zenroom/tree/v4) until LTS `v4.47.0`\n- 2025 - Current stable `v5` (latest HEAD)\n\n### [Read the full Changelog for more infos](https://github.com/dyne/Zenroom/blob/master/ChangeLog.md)\n\nThis software has zero dependencies. If you chose to use it in your\nproject be assured that we intend to support the same code to still\nrun in 20 years from now on any target platform.\n\n## Links\n\nContinue to the [developer website](https://dev.zenroom.org/)\n\nor\n\nRead the [Zencode whitepaper](https://files.dyne.org/zenroom/Zenroom_Whitepaper.pdf)\n\nor\n\nVisit the [product website](http://zenroom.org/) for a friendly\nintroduction to the love we put in craftsmanship.\n\nFor many quick running examples visit the\n[ApiRoom](https://apiroom.net) online IDE powered by Zenroom.\n\n\n**Zenroom is licensed as AGPLv3; we are [open to grant exceptions on a commercial basis](https://forkbomb.solutions).**\n\n## Applications\n\nMany applications already include Zenroom and use the Zencode language.\n\n- [W3C compatible Distributed Identity did:dyne](https://did.dyne.org)\n- [Global Passport Project](https://globalpassportproject.org)\n- [Keypairoom mnemonic deterministic and private keypairs](https://github.com/LedgerProject/keypairoom)\n- [Simple Android app to show how to use Zenroom libs](https://github.com/dyne/Zenroom-Android-app)\n- [Zexec safe remote execution of signed commands](https://github.com/dyne/zexec)\n- [Micro-service to produce ECDSA signed unix timestamps](https://github.com/dyne/zenstamp)\n- [Sawroom Transaction Processor for Hyperledger Sawtooth](https://github.com/dyne/sawroom)\n- [RedRoom Crypto module for Redis](https://github.com/dyne/redroom)\n- [Lotionroom Tendermint / Cosmos proof of concept with Zenroom](https://github.com/dyne/lotionroom)\n- [ZenSchnorr API for Schnorr signatures](https://github.com/wires/zenschnorr)\n- [Great Dane DNSSEC as a AV store for Zenroom](https://github.com/dyne/great-dane)\n- [Zen-Web-Ext Web extensions encapsulating Zenroom functionality](https://github.com/LedgerProject/zen-web-ext)\n- [Planetmint by the IPDB foundation](https://ipdb.io)\n\n## Getting Started\n\nTo quickly try out Zenroom using the Zencode language with some\nexamples navigate to [ApiRoom](https://apiroom.net) and start typing\ninto the browser.\n\nThe Zenroom VM runs locally in your browser (needs WASM) and\n[ApiRoom](https://apiroom.net) provides various examples to show\noperational crypto flows.\n\n[ApiRoom](https://apiroom.net) is also an IDE (Integrated Development\nEnvironment) and by signing in with a username and password you can\nsave your contracts and download them as a Dockerfile micro-service\nready to deploy.\n\n### Tutorials\n\n- [Bitcoin secure off-line wallet](https://medium.com/think-do-tank/bitcoin-secure-off-line-wallet-be50a57a8474)\n- [Easy Ethereum (and ERC20) transactions](https://medium.com/think-do-tank/easy-ethereum-transactions-with-zenroom-ac911a0bfdc0)\n- [Quantum Proof Crypto](https://medium.com/think-do-tank/quantum-proof-cryptography-e23b165b3bbd)\n\n## Build\n\nDependencies: makefile, cmake, gcc, libreadline-dev, xxd\n\nOptional: musl-libc, emscripten for wasm builds\n\nThere are various build targets, just type make to have a list:\n\n```\n✨ Welcome to the Zenroom build system\n🛟 Usage: make \u003ctarget\u003e\n👇🏽 List of targets:\n posix-exe        Dynamic executable for generic POSIX\n posix-lib        Dynamic library for generic POSIX\n linux-exe        Dynamic executable for GNU/Linux\n linux-lib        Dynamic library for GNU/Linux\n musl             Static executable for Musl\n win-exe          Executable for Windows x86 64bit\n win-dll          Dynamic lib (DLL) for Windows x86 64bit\n osx-exe          Executable for Apple MacOS\n osx-lib          Library for Apple MacOS native\n node-wasm        WebAssembly (WASM) for Javascript in-browser (Emscripten)\n```\n\n## License\n\nCopyright (C) 2017-2023 Dyne.org foundation\n\nDesigned and written by Denis \"[Jaromil](https://jaromil.dyne.org)\"\nRoio with the help of [Puria](https://github.com/puria) Nafisi Azizi\nand [Andrea](https://www.linkedin.com/in/andrea-d-intino/) D'Intino.\n\nIncludes code contributions by Alberto Lerda, Matteo Cristino, Danilo\nSpinella, Luca Di Domenico and Rebecca Selvaggini.\n\nReviews and suggestions contributed by: Richard Stallman, Daniele\nLacamera, Enrico Zimuel, Sofía Celi, Sebastian Blichfeld, Adam Burns,\nThomas Fuerstner and Jürgen Eckel.\n\nZenroom [complies with the REUSE license specification](https://api.reuse.software/info/github.com/dyne/zenroom) and redistributes:\n- Lua 5.4 - Copyright © 1994–2023 Lua.org, PUC-Rio.\n- Apache Milagro Crypto Library (AMCL)\n- Various Lua libraries released under Apache/MIT/CC0 license\n\nSpecial thanks to our colleagues in the [DECODE\nproject](https://decodeproject.eu) whose research has inspired the\nbirth of this project: Francesca Bria, George Danezis, Ola Bini, Mark\nde Villiers, Ivan Jelincic, Alberto Sonnino, Jim Barritt, Christian\nEspinoza, Samuel Mulube and Nina Boelsums.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as\npublished by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nAffero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public\nLicense along with this program.  If not, see\n\u003chttps://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyne%2Fzenroom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyne%2Fzenroom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyne%2Fzenroom/lists"}