Skip to content

xdustinface/dash-spv-wallet

Repository files navigation

Dash

Lightweight SPV wallet for the Dash network

CI Coverage

Overview

Dash SPV Wallet is a cross-platform desktop wallet built with Dioxus and Tailwind CSS. It connects directly to the Dash P2P network via SPV — no full node required.

Features

  • HD wallet with mnemonic backup (BIP39/BIP44)
  • Real-time sync progress with peer monitoring
  • Transaction history with InstantSend/ChainLock indicators
  • Network selection: Mainnet, Testnet, Regtest
  • Developer mode with event log viewer
  • Native and FFI backend support
  • Expandable transaction details
  • Persistent wallet and settings

Architecture

graph TD
    UI["Dioxus Components<br/>(RSX + Tailwind CSS)"]
    VM["View Models / State"]
    Trait["SpvBackend trait"]
    Native["NativeBackend<br/>(dash-spv)"]
    FFI["FfiBackend<br/>(dash-spv-ffi)"]

    UI --> VM --> Trait
    Trait --> Native
    Trait --> FFI
Loading

Prerequisites

  • Rust (see rust-toolchain.toml for version)
  • Node.js 22+ (for Tailwind CSS)
  • Dioxus CLI: cargo install dioxus-cli

Linux:

sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libasound2-dev libudev-dev libxdo-dev

Getting Started

npm install
cargo run

Dev mode:

cargo run -- --dev

FFI backend:

cargo run --features ffi -- --dev --backend ffi

Build for release:

dx build --release

Development

Pre-commit hooks

pip install pre-commit
pre-commit install
pre-commit install --hook-type pre-push

Running tests

cargo test --all-features --lib

Integration tests (requires a running dashd regtest node):

cargo test --all-features

Branch conventions

  • dev — active development
  • main — releases
  • Feature branches: feat/<description>
  • Fix branches: fix/<description>

License

MIT

About

Dash SPV wallet -- cross-platform, built on rust-dashcore

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors