There are multiple ways to install Erst depending on your environment and preferences.
Prerequisites
Before installing Erst, ensure you have:
- Go 1.24.0 or higher
- Rust 1.70 or higher (for building from source)
- Git (for cloning the repository)
Installation methods
Go install
Build from source
Development setup
The simplest way to install Erst if you have Go installed:go install github.com/dotandev/hintents/cmd/erst@latest
This will install the erst binary to your $GOPATH/bin directory. Make sure this directory is in your PATH.Verify the installation: For the latest development version or to contribute to Erst:Clone the repository
git clone https://github.com/dotandev/hintents.git
cd hintents
Build the Rust simulator
cd simulator
cargo build --release
cd ..
The Rust simulator (erst-sim) is a critical component that integrates with soroban-env-host to replay transactions.
Build the CLI
This creates the erst binary in the bin/ directory.For an optimized release build: Add to PATH (optional)
export PATH="$PATH:$(pwd)/bin"
Add this line to your ~/.bashrc or ~/.zshrc to make it permanent. If you plan to contribute to Erst or need a full development environment:Clone and navigate
git clone https://github.com/dotandev/hintents.git
cd hintents
Install dependencies
go mod download
cd simulator && cargo fetch && cd ..
Build components
cd simulator
cargo build --release
cd ..
make build
Run tests
Verify your setup by running the test suites:# Go tests
go test ./...
# Rust tests
cargo test --release -p erst-sim
Set up pre-commit hooks (optional)
pip install pre-commit
pre-commit install
This ensures code quality checks run before each commit.
Verify installation
After installation, verify that Erst is working correctly:
The erst doctor command checks your environment and reports any configuration issues.
Configuration
Cache directory
Erst caches transaction data and simulation results in ~/.erst/cache by default. You can change this location:
export ERST_CACHE_DIR=/path/to/custom/cache
RPC endpoints
You can configure custom RPC endpoints for different networks:
export ERST_RPC_MAINNET=https://your-mainnet-rpc.com
export ERST_RPC_TESTNET=https://your-testnet-rpc.com
Updating Erst
Go install
From source
Auto-update
Update to the latest version:go install github.com/dotandev/hintents/cmd/erst@latest
Pull the latest changes and rebuild:cd hintents
git pull origin main
make clean
cd simulator && cargo build --release && cd ..
make build
Erst includes an auto-update checker that notifies you when new versions are available:The upgrade command checks for updates and displays installation instructions.
Troubleshooting
Command not found
If you get a “command not found” error:
-
Ensure
$GOPATH/bin is in your PATH:
echo $PATH | grep -q "$GOPATH/bin" || echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.bashrc
source ~/.bashrc
-
Verify the binary location:
Rust simulator errors
If you encounter errors related to the Rust simulator:
-
Ensure you built the simulator:
cd simulator && cargo build --release
-
Check Rust version:
rustc --version # Should be 1.70+
Permission denied
If you get permission errors:
Cache issues
If you experience cache-related problems:
This will delete all cached transaction data. You’ll need to re-fetch transactions from the network.
Next steps
Now that Erst is installed, learn how to debug your first transaction:
Quick start guide
Debug a failed transaction in minutes