70 lines
1.6 KiB
Markdown
70 lines
1.6 KiB
Markdown
# 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
|
|
cargo build --release
|
|
```
|
|
|
|
## 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`.
|