← 全部工具

dotandev/hintents

热度 75 更新于 开发与构建

A CLI tool for the Stellar Soroban ecosystem that replays failed transactions locally to generate verbose, colorized stack traces and diagnostic events, making smart contract debugging significantly easier.

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

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/erst

Note: 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 testnet

Debug an offline envelope from stdin (no RPC):