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
Next steps
Code standards
Learn about coding conventions and style guidelines
Testing
Understand testing requirements and how to write tests
Development workflow
Follow the workflow for submitting pull requests