Erst By Hintents
Erst is a premium developer toolset for the Stellar network, designed to provide high-fidelity "glass-box" debugging and simulation for Soroban smart contracts.
Status: Active Development (Phase 4: Advanced Diagnostics) Documentation: https://dotandev-hintents-75.mintlify.app/ Focus: High-Fidelity Simulation, Auth Tracing, and Security Auditing
Scope & Objective
The primary goal of erst is to eliminate the opaque "black box" experience of failed Stellar smart contract transactions. By providing local-first, high-fidelity replay and tracing, erst maps generic network errors back to human-readable diagnostic events and source code.
Installation
Prerequisites
- Go (1.25.0 or later)
- Rust (1.87 or later, with Cargo)
From Source
# Clone the repository
git clone https://github.com/dotandev/hintents.git
cd hintents
# Build the Rust simulator
cd simulator && cargo build && cd ..
# Build the Go CLI
go build -o erst ./cmd/erstNote: We will provide pre-compiled binaries via Homebrew and direct downloads in future releases.
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.
- Source Mapping: Map WASM instruction failures to specific Rust source code lines using debug symbols.
- GitHub Source Links: Automatically generate clickable GitHub links to source code locations in traces (when in a Git repository).
- Error Suggestions: Heuristic-based engine that suggests potential fixes for common Soroban errors.
Usage (MVP)
Debugging a Transaction
Fetches a transaction envelope from the Stellar Public network and prints its XDR size (Simulation pending).
./erst debug <transaction-hash> --network testnetDebug an offline envelope from stdin (no RPC):