Erst is a specialized developer tool for the Stellar network, designed to solve the "black box" debugging experience on Soroban.
Status: Active Development (Pre-Alpha) Focus: Soroban Error Decoding & Transaction Replay
The primary goal of erst is to clarify why a Stellar smart contract transaction failed.
Currently, when a Soroban transaction fails on mainnet, developers receive a generic XDR error code. erst aims to bridge the gap between this opaque network error and the developer's source code.
Core Features (Planned):
- Transaction Replay: Fetch a failed transaction's envelope and ledger state from an RPC provider.
- Local Simulation: Re-execute the transaction logically in a local environment.
- Trace decoding: Map execution steps and failures back to readable instructions or Rust source lines.
Fetches a transaction envelope from the Stellar Public network and prints its XDR size (Simulation pending).
./erst debug <transaction-hash>Stellar's soroban-env-host executes WASM. When it traps (crashes), the specific reason is often sanitized or lost in the XDR result to keep the ledger size small.
erst will likely operate by:
- Fetching Data: Using the Stellar RPC to get the
TransactionEnvelopeandLedgerFootprint(read/write set) for the block where the tx failed. - Simulation Environment: integrating with the
soroban-sdk(likely via Rust FFI or a mock environment) to load the contract WASM. - Execution: Feeding the inputs into the VM and capturing
diagnostic_events.
We are building this open-source to help the entire Stellar community.
- Go 1.21+
- Rust (for Soroban FFI bindings)
- Stellar CLI (for comparing results)
- Clone the repo:
git clone https://github.com/dotandev/hintents.git cd hintents - Run tests:
go test ./...
See docs/proposal.md for the detailed proposal.
- Phase 1: Research RPC endpoints for fetching historical ledger keys.
- Phase 2: Build a basic "Replay Harness" that can execute a loaded WASM file.
- Phase 3: Connect the harness to live mainnet data.
Erst is an open-source initiative. Contributions, PRs, and Issues are welcome.