17 releases (breaking)

0.27.1 Dec 2, 2023
0.26.0 Oct 13, 2023
0.24.0 May 12, 2023
0.23.0 Feb 8, 2023
0.15.0 Mar 8, 2022

#143 in WebAssembly

Download history 99/week @ 2023-10-27 83/week @ 2023-11-03 79/week @ 2023-11-10 64/week @ 2023-11-17 91/week @ 2023-11-24 195/week @ 2023-12-01 81/week @ 2023-12-08 94/week @ 2023-12-15 240/week @ 2023-12-22 38/week @ 2023-12-29 46/week @ 2024-01-05 56/week @ 2024-01-12 42/week @ 2024-01-19 64/week @ 2024-01-26 74/week @ 2024-02-02 61/week @ 2024-02-09

249 downloads per month
Used in 9 crates (via ergotree-interpreter)

CC0 license

110KB
787 lines

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:

Implementation of finite field arithmetic and polynomial interpolation/evaluation in Galois field GF(2^192).

Dependencies

~1.3–2.3MB
~53K SLoC