{"id":27208477,"url":"https://github.com/AluVM/rust-aluvm","last_synced_at":"2025-04-10T00:02:13.385Z","repository":{"id":43277034,"uuid":"352360416","full_name":"AluVM/aluvm","owner":"AluVM","description":"AluVM: RISC functional machine base implementation","archived":false,"fork":false,"pushed_at":"2024-12-23T11:16:53.000Z","size":1384,"stargazers_count":60,"open_issues_count":1,"forks_count":20,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-12-23T11:53:16.102Z","etag":null,"topics":["blockchain","edge-computing","embedded-systems","functional-programming","instruction-set-architecture","microcontrollers","risc","rust","smart-contracts","virtual-machine"],"latest_commit_sha":null,"homepage":"https://www.aluvm.org","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/AluVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["dr-orlovsky","UBIDECO","AluVM","LNP-BP"]}},"created_at":"2021-03-28T15:06:11.000Z","updated_at":"2024-12-23T10:54:28.000Z","dependencies_parsed_at":"2023-11-16T16:52:42.820Z","dependency_job_id":"b7f84a74-b87e-44dd-95bb-8fb6893f8417","html_url":"https://github.com/AluVM/aluvm","commit_stats":{"total_commits":284,"total_committers":9,"mean_commits":"31.555555555555557","dds":0.3485915492957746,"last_synced_commit":"7fee22ba18f547a0d71cf2dcbf91442377a1736c"},"previous_names":["internet2-org/alure","aluvm/aluvm","aluvm/rust-aluvm"],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AluVM%2Faluvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AluVM%2Faluvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AluVM%2Faluvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AluVM%2Faluvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AluVM","download_url":"https://codeload.github.com/AluVM/aluvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131323,"owners_count":21052819,"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":["blockchain","edge-computing","embedded-systems","functional-programming","instruction-set-architecture","microcontrollers","risc","rust","smart-contracts","virtual-machine"],"created_at":"2025-04-10T00:00:50.788Z","updated_at":"2025-04-10T00:02:13.373Z","avatar_url":"https://github.com/AluVM.png","language":"Rust","readme":"# AluVM rust implementation\n\n![Build](https://github.com/AluVM/aluvm/workflows/Build/badge.svg)\n![Tests](https://github.com/AluVM/aluvm/workflows/Tests/badge.svg)\n![Lints](https://github.com/AluVM/aluvm/workflows/Lints/badge.svg)\n[![codecov](https://codecov.io/gh/AluVM/aluvm/branch/master/graph/badge.svg)](https://codecov.io/gh/AluVM/aluvm)\n\n[![crates.io](https://img.shields.io/crates/v/aluvm)](https://crates.io/crates/aluvm)\n[![Docs](https://docs.rs/aluvm/badge.svg)](https://docs.rs/aluvm)\n[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance/)\n[![Apache-2 licensed](https://img.shields.io/crates/l/aluvm)](./LICENSE)\n\nRust implementation of AluVM (arithmetic logic unit virtual machine).\n\nAluVM is a pure functional register-based highly deterministic \u0026 exception-less instruction set\narchitecture (ISA) and virtual machine (VM). The AluVM ISA can be extended by an environment running\nthe virtual machine (runtime environment), providing ability to load data to the VM registers and\nsupport application-specific instructions (like SIMD).\n\nThe main purpose for ALuVM is to be used in distributed systems whether robustness,\nplatform-independent determinism are more important than the speed of computation. The main area of\nAluVM applications (using appropriate ISA extensions) is blockchain environments, consensus-critical\ncomputations, edge computing, multiparty computing (including deterministic machine learning),\nclient-side-validation, sandboxed computing and genetic algorithms.\n\nFor more details on AluVM, please check [the specification][AluVM], watch detailed presentation\non [YouTube] or check [slides] from the presentation.\n\n## Design\n\nThe robustness lies at the very core of AluVM. It is designed to avoid any undefined behaviour.\nSpecifically,\n\n* All registers may be in the undefined state;\n* Impossible/incorrect operations put destination register into a special *undefined state*;\n* Code always extended to 2^16 bytes with zeros, which corresponds to “set st0 register to false and\n  stop execution” op-code;\n* There are no invalid jump operations;\n* There are no invalid instructions;\n* Cycles \u0026 jumps are counted with 2^16 limit (bounded-time execution);\n* No ambiguity: any two distinct byte strings always represent strictly distinct programs;\n* Code and embedded data signing;\n* Code commits to the used ISA extensions;\n* Libraries identified by their hashes;\n* Code does not run if not all libraries are present.\n\n![Comparison table](doc/comparison.png)\n\n## Instruction Set Architecture\n\n![Instruction set architecture](doc/isa.png)\n\n## History\n\n- The need for AluVM recognized as a part of RGB project in Mar, the 24 \u0026 31st, 2021 (see developers\n  call \u003chttps://youtu.be/JmKNyOMv68I\u003e)\n- Concept was presented on 19th of May 2021([check the recoding](https://youtu.be/Mma0oyiVbSE))\n- v0.1 release of Rust AluVM implementation on the 28th of May 2021\n  ([ISA \u0026 API docs](https://docs.rs/aluvm/0.1.0/alure/))\n- v0.2 release with multiple enhancements on the 9 Jun\n  2021 ([ISA \u0026 API docs](https://docs.rs/aluvm/0.2.1/aluvm/)) – see presentation on [YouTube] or\n  read [slides]\n- At the end of 2024 v0.12 became a complete re-write, abstracting most of the instructions into a\n  ISA extensions. The remaining core of AluVM become zk-STARK and zk-STARK-compatible, so a\n  dedicated ISA extensions can be used to create fully arithmetized applications.\n\n[AluVM]: https://github.com/AluVM/aluvm-spec\n\n[YouTube]: https://www.youtube.com/watch?v=brfWta7XXFQ\n\n[slides]: https://github.com/LNP-BP/presentations/blob/master/Presentation%20slides/AluVM.pdf\n","funding_links":["https://github.com/sponsors/dr-orlovsky","https://github.com/sponsors/UBIDECO","https://github.com/sponsors/AluVM","https://github.com/sponsors/LNP-BP"],"categories":["Libraries and CLIs","Awesome RGB(Really Good Bitcoin)"],"sub_categories":["Main RGB Standards","Code Repositories"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAluVM%2Frust-aluvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAluVM%2Frust-aluvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAluVM%2Frust-aluvm/lists"}