A release-ready starter monorepo for building Stellar developer tools with a Rust backend, a React dashboard, Horizon API integrations, and a sample Soroban contract.
- Network dashboard with Horizon health, version, ledger, and passphrase details.
- Testnet/mainnet switcher foundation shared across frontend API calls.
- Wallet validator for Stellar public account IDs.
- Account inspector for balances with invalid and unfunded account guidance.
- Transaction inspector for recent account activity.
- Asset Explorer for Horizon asset lookup by code and issuer.
- Rust Axum backend with typed Horizon client wrappers.
- Soroban developer notes contract with tests.
- Docker Compose setup for local full-stack development.
- Backend: Rust, Axum, Tokio, Reqwest, Serde, Tower HTTP, Tracing.
- Frontend: React, TypeScript, Vite, React Router, Lucide icons.
- Smart contracts: Soroban SDK.
- Infrastructure: Docker, Docker Compose, GitHub Actions.
Add screenshots before publishing the GitHub release:
docs/screenshots/dashboard.pngdocs/screenshots/account-inspector.pngdocs/screenshots/asset-explorer.pngdocs/screenshots/transaction-inspector.png
- Rust stable toolchain.
- Node.js 20 or newer.
- npm 10 or newer.
- Docker Desktop, optional for Compose.
Copy the example environment file and adjust values as needed:
cp .env.example .envImportant settings:
STELLAR_NETWORK: default backend network, usuallytestnetorpublic.HORIZON_URL: optional custom Horizon URL.BACKEND_HOSTandBACKEND_PORT: backend bind settings.CORS_ALLOWED_ORIGIN: frontend origin allowed by the backend.VITE_API_BASE_URL: frontend API base URL, usuallyhttp://localhost:8080.
Run the full stack with Docker:
docker compose up --build- Frontend: http://localhost:5173
- Backend: http://localhost:8080
Install frontend dependencies:
cd frontend
npm installRun the backend:
cd backend
cargo runRun the frontend in another terminal:
cd frontend
npm run devRun the Soroban contract tests:
cd smart-contracts/notes-contract
cargo testRun these before opening a release PR:
cargo buildcd frontend
npm run buildGET /healthGET /api/network/status?network=testnetGET /api/wallets/:address/validateGET /api/accounts/:account_id/balances?network=testnetGET /api/accounts/:account_id/transactions?network=testnet&limit=20&cursor=...GET /api/assets?network=testnet&asset_code=USDC&asset_issuer=G...
Supported network query values are testnet, public, and mainnet as an alias for public. If no query value is provided, the backend uses STELLAR_NETWORK.
- Add saved network preferences.
- Add single transaction hash lookup.
- Add trustline and payment operation explorers.
- Add contract deploy and invoke helpers.
- Add frontend tests around API error states.
- Add release screenshots and hosted demo links.
- Create a focused branch from
main. - Keep backend, frontend, and contract changes scoped to the issue.
- Run
cargo buildandnpm run buildbefore submitting. - Update docs when changing setup, API behavior, or user-facing workflows.
- Open a pull request with a short summary, screenshots for UI changes, and test notes.
MIT