Rust implementation of ErgoScript cryptocurrency scripting language.
See Architecture for high-level overview.
Overarching crate exposing wallet-related features: chain types (transactions, boxes, etc.), JSON serialization, box selection for tx inputs, tx builder and signing. Exports other crates API, probably the only crate you'd need to import.
ErgoTree interpreter
ErgoTree IR and serialization.
ErgoScript compiler.
Ergo binary serialization primitives.
Bindings:
- ergo-lib-wasm(Wasm)
- ergo-lib-wasm-browser(JS/TS)
- ergo-lib-wasm-nodejs(JS/TS)
- ergo-lib-ios(Swift)
- ergo-lib-jni(Java)
- ergo-lib-c (C)
- sigma_rb(Ruby)
See CHANGELOG.md.
To get better understanding on how to use it in your project check out how its being used in the following projects:
Rust:
- Oracle Core;
- Ergo Headless dApp Framework;
- Ergo Node Interface Library;
- Spectrum Off-Chain Services for Ergo;
- AgeUSD Stablecoin Protocol;
- ErgoNames SDKs
TS/JS:
- Ergo SDK (Wasm bindings);
- Yoroi wallet (Wasm bindings);
- Ergo Desktop Wallet (Wasm bindings);
Examples:
Also take a look at tests where various usage scenarios were implemented.
See Contributing guide.
Feel free to join the Ergo Discord and ask questions on #sigma-rust
channel.