Cross-platform desktop wallet for the Solen blockchain. Built with Tauri, React, and TypeScript — runs on Linux, macOS, and Windows from a single codebase.
- Network switching — Mainnet, Testnet, and Devnet with one click
- Account management — Create new Ed25519 keypairs or import existing ones
- Balance display — Auto-refreshes via
solen_getBalanceRPC - Send tokens — Build, sign, and submit SOLEN transfer operations
- Faucet — Claim free tokens on Testnet/Devnet
- Transaction history — View past transactions from the explorer API
- Account details — View/copy public key, account ID, and secret key
sudo apt install libwebkit2gtk-4.1-dev build-essential libssl-dev libayatana-appindicator3-devXcode Command Line Tools:
xcode-select --installMicrosoft C++ Build Tools and WebView2 (included in Windows 11).
npm installRun the frontend in the browser (no Tauri/Rust required):
npm run devnpm run tauri devnpm run tauri buildOutputs platform-specific installers in src-tauri/target/release/bundle/.
| Network | RPC Port | Explorer API | Faucet Port |
|---|---|---|---|
| Mainnet | 9944 | 9955 | — |
| Testnet | 19944 | 19955 | 19966 |
| Devnet | 29944 | 29955 | 29966 |
All endpoints default to 127.0.0.1. Update src/lib/networks.ts to point at remote nodes.
src/
├── main.tsx # Entry point
├── App.tsx # Dashboard layout
├── index.css # Tailwind styles
├── lib/
│ ├── networks.ts # Network configs
│ ├── rpc.ts # JSON-RPC client
│ ├── wallet.ts # Ed25519 key management
│ ├── faucet.ts # Faucet API client
│ └── context.tsx # React context for app state
└── components/
├── Header.tsx # Top bar + network selector
├── NetworkSelector.tsx # Mainnet/Testnet/Devnet tabs
├── AccountSelector.tsx # Account dropdown
├── BalanceCard.tsx # Balance display
├── SendForm.tsx # Send SOLEN form
├── FaucetCard.tsx # Faucet claim (Testnet/Devnet only)
├── TransactionHistory.tsx # Transaction list
├── AccountDetails.tsx # Key details + copy/remove
└── CreateAccountModal.tsx # Create/import account modal
src-tauri/ # Tauri Rust backend
├── Cargo.toml
├── tauri.conf.json
└── src/
├── main.rs
└── lib.rs
ISC