Libraries & SDKs
Ergo offers a rich ecosystem of Software Development Kits (SDKs), libraries, and language bindings to help developers build applications on the blockchain. These tools provide abstractions and utilities for interacting with nodes, creating and signing transactions, working with ErgoScript, and more.
Primary SDKs
- 🥇 AppKit: Java/Scala SDK for building Ergo apps, suitable for JVM environments and Android development. [Java, Scala]
- 🥇 Fleet SDK: A pure JS/TS library designed for effortless Ergo transaction creation in web-based dApps and Node.js environments. GitHub Org [JS/TS]
- 🥇 Sigma-Rust: Rust implementation of ErgoTree types, core primitives, and serialization, forming the basis for many other libraries and bindings. [Rust]
Core Libraries
- 🥇 Sigmastate Interpreter: The reference implementation of the ErgoTree interpreter and ErgoScript language. [Scala, ErgoScript]
- Scrypto: Cryptographic primitives library used by the Sigmastate Interpreter. [Scala]
- Scorex Util: Utility classes for Scorex projects. [Scala]
- Debox: Efficient primitive type Boxes for Scala. [Scala]
Language Bindings (via Sigma-Rust)
- 🥇 ErgoLib: High-level Rust abstractions built on top of sigma-rust. Docs [Rust]
- 🥇 ergo-lib-wasm: WASM bindings for JavaScript/TypeScript (Browser & Node.js). NPM (Browser) | NPM (NodeJS) [JS/TS, Rust]
- ergo-lib-jni: JNI bindings for JVM languages (Java, Scala, Kotlin). Docs [Java, Rust]
- 🥇 ergo-lib-python: Python bindings. PyPI [Python, Rust]
- *Note: Bindings for C and Go also exist.*