29 releases (breaking)

0.24.0 Aug 9, 2024
0.23.1 Dec 2, 2023
0.22.0 Oct 13, 2023
0.20.0 May 12, 2023
0.4.0 Mar 22, 2021

#228 in Programming languages


Used in 6 crates (2 directly)

CC0 license

1MB
20K SLoC

Coverage Status

Rust implementation of ErgoScript cryptocurrency scripting language.

See Architecture for high-level overview.

Crates

ergo-lib Latest Version Documentation

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 Latest Version Documentation

ErgoTree interpreter

ergotree-ir Latest Version Documentation

ErgoTree IR and serialization.

ergoscript-compiler Latest Version Documentation

ErgoScript compiler.

sigma-ser Latest Version Documentation

Ergo binary serialization primitives.

Bindings:

Changelog

See CHANGELOG.md.

Usage Examples

To get better understanding on how to use it in your project check out how its being used in the following projects:

Rust:

TS/JS:

Examples:

Also take a look at tests where various usage scenarios were implemented.

Contributing

See Contributing guide.

Feel free to join the Ergo Discord and ask questions on #sigma-rust channel.


lib.rs:

ErgoScript compiler pipeline

Dependencies

~14–22MB
~307K SLoC