Contractless-GUI-Wallet/README.md

70 lines
1.6 KiB
Markdown
Raw Normal View History

2026-07-01 16:01:30 +00:00
# Contractless Wallet GUI
This folder contains the early Contractless desktop wallet prototype.
## Required Location
This wallet crate must be placed directly inside the Contractless blockchain repository root.
Expected layout:
```text
Contractless/
Cargo.toml
src/
gui_wallet/
Cargo.toml
tauri.conf.json
frontend/
src/
```
The wallet depends on the blockchain crate with:
```toml
blockchain = { path = ".." }
```
Because of that, `gui wallet/` must be in the same folder that contains the Contractless `src/` folder and root `Cargo.toml`. If the wallet folder is moved somewhere else, the parent `..` path will not point at the blockchain crate and the wallet will not build.
## Layout
- `frontend/` contains the static HTML, CSS, and JavaScript wallet UI.
- `src/` contains the Rust/Tauri desktop app code.
- `icons/`, `capabilities/`, `tauri.conf.json`, `build.rs`, `Cargo.toml`, and `Cargo.lock` are the Tauri project files.
## Build Check
From `gui wallet/`:
```bash
cargo check
2026-07-01 16:19:12 +00:00
cargo build --release
2026-07-01 16:01:30 +00:00
```
## Linux Prerequisites
Tauri depends on native Linux desktop libraries. On Ubuntu/Debian, install:
```bash
sudo apt update
sudo apt install \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libdbus-1-dev \
pkg-config
```
Some older distributions may use `libwebkit2gtk-4.0-dev` instead of `libwebkit2gtk-4.1-dev`.
Fedora-style systems generally need the equivalent WebKitGTK, GTK, AppIndicator/Ayatana, librsvg, DBus, and pkg-config development packages.
## Icons
Tauri expects platform icon assets in `icons/`.
- Windows uses `icon.ico`.
- Linux expects `icon.png`.