Apache 2.0 · Open Source

High-Fidelity
Glass-Box Debugging
for Stellar.

Erst eliminates the opaque "black box" experience of failed smart contract transactions. Map generic network errors back to human-readable diagnostics, Rust source code, and exact execution traces.

debug.sh
# Debug a failed transaction on testnet
$erst debug <tx-hash> --network testnet
✓ Fetched transaction envelope...
✓ Downloaded ledger state...
ℹ Replaying logically in local simulator...
Error: Trapped at src/contract.rs:42
HostError: Contract execution panicked
01

Install erst.

Requires Go 1.25.0+ and Rust 1.87+ with Cargo. Choose the path that fits your workflow.

# Clone the repository
$git clone https://github.com/dotandev/hintents.git
$cd hintents
# Build the Rust simulator
$cd simulator && cargo build --release && cd ..
# Build the Go CLI
$go build -o erst ./cmd/erst
02

Engineering over guesswork.

Stop relying on print statements. Erst provides a complete suite of tools to trace, profile, and verify Soroban smart contracts locally.

01

Local Simulation

Fetch transaction envelopes and ledger states directly from an RPC provider, and re-execute them logically in an isolated local environment without spending lumens.

02

Trace Decoding

Map execution steps, host environment metrics, and WASM instruction failures directly back to your readable Rust source lines using embedded DWARF debug symbols.

03

VS Code Integration

A native DAP (Debug Adapter Protocol) extension that turns your editor into a time-travel debugger — inspect stack traces and state changes without leaving your IDE.

04

Error Suggestion Engine

A heuristic engine that recognizes common Soroban panics and host errors, then proposes concrete fixes instead of leaving you to decode raw error codes.

05

Security & Token-Flow Tracing

Dedicated analysis passes walk the execution trace for authorization gaps and follow every asset movement, surfacing suspicious transfers before they reach mainnet.

06

Offline-First Workflows

Replay local WASM builds with mocked ledger state, snapshot and time-travel through a session, or run a batch of saved transactions as a regression suite — no RPC required.

03

No black box.

A failed Soroban transaction shouldn't end in a hex error code. Erst runs the real simulator against real ledger state on your machine, then shows you exactly which line of Rust it died on — not a guess, not a heuristic string match, the actual execution trace.

04

Debug without leaving your editor.

"ERST Tracer" wires a full Debug Adapter Protocol (DAP) implementation straight into VS Code: set breakpoints in Rust, step through host function calls, inspect XDR payloads, diff ledger state, and search the trace tree — all talking to the same simulator engine behind the CLI.

  • Full DAP debugger with stack traces & variable inspection
  • Searchable trace tree view and inline code lenses
  • XDR payload viewer and ledger state-diff tool
$git clone https://github.com/dotandev/hintents.git
$cd hintents/erst_extension
$npm install
$npm run compile
# In VS Code: press F5 to launch the Extension Development Host

"ERST Tracer" is not yet published to the VS Code Marketplace — this runs it directly from source.