What is Erst?
Erst is a specialized developer tool for the Stellar network, designed to solve the “black box” debugging experience on Soroban. The primary goal is to clarify why a Stellar smart contract transaction failed by:- Fetching and replaying failed transactions
- Simulating transactions in a local environment
- Mapping execution failures to readable instructions and source code
- Providing error suggestions for common Soroban errors
Project structure
Erst consists of two main components:- Go CLI (
cmd/erst): The user-facing command-line tool - Rust Simulator (
simulator/): The core logic that replays transactions usingsoroban-env-host
Prerequisites
Before you begin, ensure you have the following installed:- Go: Version 1.24.0 or later
- Rust: Version 1.70 or later (stable toolchain)
- Stellar CLI: For comparing results
- make: For running development tasks
- (Optional) Docker: If you prefer building in a container
Getting started
Build the Rust simulator
The simulator must be built first because the Go CLI depends on it:
The binary will be located at
simulator/target/release/erst-simFeature requests and voting
We believe the community should drive the project’s priorities.Requesting a new feature
- Check existing requests: Browse GitHub Discussions under “Feature Requests” to see if someone has already suggested it
- Create a discussion: If your idea is new, start a discussion with:
- A clear, descriptive title
- The problem or use case you’re trying to solve
- Your proposed solution or approach
- Any relevant examples or context
- Engage with the community: Respond to questions and feedback to help refine the idea
If GitHub Discussions are not enabled, open a GitHub Issue with the
feature-request label instead.Voting on features
- Use reactions: Vote for features you’d like to see by adding a 👍 reaction to the original discussion post
- Avoid “+1” comments: Please use reactions instead of comments to keep discussions focused
- Priority ranking: Features with the most 👍 reactions will be prioritized in the development roadmap
From discussion to implementation
- Popular feature requests will be reviewed by maintainers and converted into GitHub Issues when approved
- Approved issues will be labeled with
featureandcommunity-requested - You’re welcome to implement features yourself! Comment on the issue to let others know you’re working on it
Tips for great feature requests
Tips for great feature requests
- Be specific: Vague requests are hard to implement
- Explain the “why”: Help us understand the problem you’re solving
- Consider scope: Smaller, focused features are easier to review and merge
- Think about compatibility: How does this fit with Stellar/Soroban’s ecosystem?
Getting help
- Questions? Open a GitHub Discussion
- Found a bug? Create an Issue with reproduction steps
- Have an idea? Start a Discussion before implementing
- Documentation issue? Create an Issue with details