{"id":27801392,"url":"https://github.com/aslesarenko/sigma-rust-mini","last_synced_at":"2026-01-06T13:04:08.583Z","repository":{"id":219353434,"uuid":"748301133","full_name":"aslesarenko/sigma-rust-mini","owner":"aslesarenko","description":"Minified sigma-rust, just enough to handle simple transactions (with P2PK addresses only) and/or sign reduced transactions for ErgoPay","archived":false,"fork":false,"pushed_at":"2024-01-29T12:10:15.000Z","size":7365,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2024-01-30T11:15:58.064Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aslesarenko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-25T17:33:33.000Z","updated_at":"2024-01-29T14:29:45.000Z","dependencies_parsed_at":"2024-01-29T11:07:05.739Z","dependency_job_id":null,"html_url":"https://github.com/aslesarenko/sigma-rust-mini","commit_stats":null,"previous_names":["aslesarenko/sigma-rust-mini"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslesarenko%2Fsigma-rust-mini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslesarenko%2Fsigma-rust-mini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslesarenko%2Fsigma-rust-mini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aslesarenko%2Fsigma-rust-mini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aslesarenko","download_url":"https://codeload.github.com/aslesarenko/sigma-rust-mini/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251825376,"owners_count":21649941,"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-05-01T05:01:09.216Z","updated_at":"2026-01-06T13:04:03.551Z","avatar_url":"https://github.com/aslesarenko.png","language":"Rust","funding_links":[],"categories":["📚 SDKs \u0026 Libraries \u003ca id=\"sdks--libraries\"\u003e\u003c/a\u003e"],"sub_categories":["🤝 Community SDKs/Libraries \u003ca id=\"community-sdkslibraries\"\u003e\u003c/a\u003e"],"readme":"**This repository is the fork of [sigma-rust](https://github.com/ergoplatform/sigma-rust) created\nfor lightweight wallets where most of the sigma-rust advanced features are not required.\nUnless you have such a specific case, you're better off using the original sigma-rust.**\n\nThe original codebase of sigma-rust is heavily _minimized_ to prune everything not related to\nsigning simple transactions. However, the original design is preserved and as a result most of the\noriginal tests remained unchanged.\n\nDue to the highly focused nature, this library supposed to be stable, all new features can be done elsewhere.\n\n## Use Cases \n\n### Lightweight Ergo Wallets\n\nYou want to interact with [Ergo](https://ergoplatform.org/) blockchain and want to support only\nbasic P2PK addresses, BIP-32 keys, and interact with dApps via ErgoPay. You don't want to compile\nsmart contracts, interact with contracts directly and, therefor, you don't need the ErgoTree\ninterpreter. And you also want a minimalistic non-opinionated library that is focused on keys\nmanagement and transaction signing. You also have your own Android/iOS/JS/Whatever bindings or don't\nneed them at all. You are also planning your way of interacting with Ergo nodes.\n\n### Third-party Ergo Integration and Security Audit \n\nYou want to integrate you library/ecosystem with Ergo blockchain and [need to avoid new dependencies](https://developer.trustwallet.com/developer/wallet-core/newblockchain#rust-implementation).\nThis library is already minimized towards what you need so you can copy the code and even minimize it further. \nIt helps passing code audit.\n\n### Education\n\nYou may be interested to learn blockchain development, Ergo, Rust or all of it. You\ncan start from this library and then switch to full-blown [sigma-rust](https://github.com/ergoplatform/sigma-rust).\n\nSee [Architecture](docs/architecture.md) for high-level overview.\n\n## Limitations of sigma-rust-mini\n\nThis library has the limitations vs the original sigma-rust described below.\n\n#### Rudimentary ErgoTree\nOnly Constant and ConstantPlaceholder nodes allowed in sigma-rust-mini. And\nbecause ErgoTree root expression should be of type SigmaProp, then only Literal::SigmaProp can be in\nthe ErgoTree.\n\n#### Limited Addresses\nP2S addresses are supported but can only contain rudimentary ErgoTrees.\n\n## Crates\n\n[ergo-lib](ergo-lib) \n\nOverarching crate exposing wallet-related features: chain types (transactions, boxes, etc.), JSON serialization, simple box\nselection for tx inputs, tx builder and signing. Exports other crates API, probably the only crate you'd need to import.\n\n[ergotree-interpreter](ergotree-interpreter) \n\nHeavily pruned ErgoTree interpreter. The original sigma-rust design is preserved, all ErgoTree\noperations were removed along with evaluation and related code.\n\n[ergotree-ir](ergotree-ir)\n\nHeavily pruned ErgoTree IR. The original sigma-rust design is preserved, but most of the nodes and related serializers and code were pruned.\n\n[ergoscript-compiler](https://github.com/ergoplatform/sigma-rust/tree/develop/ergoscript-compiler) \n\nErgoScript compiler was completely removed\n\n[sigma-ser](sigma-ser)\n\nErgo binary serialization primitives. Remained mostly unchanged.\n\n## Bindings\nThe following bindings form sigma-rust was removed. If you need them then use the original sigma-rust.\n- [ergo-lib-wasm(Wasm)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-wasm) \n- [ergo-lib-wasm-browser(JS/TS)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-wasm)\n- [ergo-lib-wasm-nodejs(JS/TS)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-wasm)\n- [ergo-lib-ios(Swift)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-ios)\n- [ergo-lib-jni(Java)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-jni)\n- [ergo-lib-c (C)](https://github.com/ergoplatform/sigma-rust/tree/develop/bindings/ergo-lib-c)\n- [sigma_rb(Ruby)](https://github.com/thedlop/sigma_rb)[![Gem Version](https://badge.fury.io/rb/sigma_rb.svg)](https://badge.fury.io/rb/sigma_rb)\n\n## Changelog\n\nSee [CHANGELOG.md](ergo-lib/CHANGELOG.md).\n\n## \n\nSince all bindings were removed, most of the original examples are not relevant, except pure Rust examples listed below.\n\nRust:\n\n- [Oracle Core](https://github.com/ergoplatform/oracle-core);\n- [Ergo Headless dApp Framework](https://github.com/Emurgo/ergo-headless-dapp-framework);\n- [Ergo Node Interface Library](https://github.com/Emurgo/ergo-node-interface);\n- [Spectrum Off-Chain Services for Ergo](https://github.com/spectrum-finance/spectrum-offchain-ergo);\n- [AgeUSD Stablecoin Protocol](https://github.com/Emurgo/age-usd);\n- [ErgoNames SDKs](https://github.com/ergonames/sdk/tree/master/rust)\n\n\nAlso take a look at tests where various usage scenarios were implemented.\n\nAnd last but not the least, there is a whole section of [examples for the original sigma-rust library](https://github.com/ergoplatform/sigma-rust#usage-examples).\n\n## Contributing\n\nSee [Contributing](CONTRIBUTING.md) guide.\n\nFeel free to join the [Ergo Discord](https://discord.gg/kj7s7nb) and ask questions on `#dev-tooling` channel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslesarenko%2Fsigma-rust-mini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faslesarenko%2Fsigma-rust-mini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faslesarenko%2Fsigma-rust-mini/lists"}