Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update readme #200

Merged
merged 1 commit into from
Dec 27, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 25 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
# Sage Wallet

The sagest wallet for the Chia blockchain.
A high-performance light wallet that offers users the ability to connect directly to peers on the Chia blockchain or to a trusted full node. Key features include WalletConnect for integration with decentralized applications (dApps) and DeFi services, support for Chia offer files, and compatibility with Chia's standards for NFTs and Asset Tokens (CATs). This wallet also facilitates the creation, viewing, and management of NFTs, the minting of new tokens, and the management of Decentralized Identifiers (DIDs). Sage Wallet is designed for ease of use, security, and future extensibility. It is currently available in beta, so it should be used with caution.

Sage is:

1. A high-performance light wallet that can connect directly to peers on the Chia network.
2. Built upon the reliable foundation of [chia_rs](https://github.com/Chia-Network/chia_rs), [clvm_rs](https://github.com/Chia-Network/clvm_rs), and the [Chia Wallet SDK](https://github.com/xch-dev/chia-wallet-sdk).
3. Designed with maintainability and future extensibility in mind from the beginning.

## Disclaimer

Sage is still in beta testing and isn't guaranteed to be stable, so it should be used with caution. Please make sure you backup your keys and don't put too much XCH in mainnet wallets.
Sage is built upon the reliable foundation of [chia_rs](https://github.com/Chia-Network/chia_rs), [clvm_rs](https://github.com/Chia-Network/clvm_rs), and the [Chia Wallet SDK](https://github.com/xch-dev/chia-wallet-sdk). It's designed with maintainability and future extensibility in mind from the beginning.

## Installation

Expand All @@ -22,14 +14,16 @@ If you want to build from source, see the [Development](#development) section fo

This is an open source project, and we welcome pull requests to improve any part of the wallet.

The frontend is currently written in TypeScript with [React](https://react.dev/) and [Material UI](https://mui.com/), and can be found in the `src` directory.
The frontend is currently written in TypeScript with [React](https://react.dev/) and [Shadcn UI](https://ui.shadcn.com/), and can be found in the `src` directory.

The backend is written in Rust, powered by [Tauri v2](https://v2.tauri.app/). The frontend and backend communicate via serialized commands and events over IPC.
The backend is written in Rust, powered by [Tauri v2](https://v2.tauri.app/). The frontend and backend communicate via serialized commands and events over IPC. The `src-tauri` directory contains the backend wrapper code, and `crates` is the individual libraries that make up the wallet backend.

Finally, the wallet driver code is written on the backend using the [Chia Wallet SDK](https://github.com/xch-dev/chia-wallet-sdk).

## Development

### Setting up the environment

These instructions should get you up and running with a source installation.

First, there are some prerequisites:
Expand All @@ -45,10 +39,16 @@ Install the frontend dependencies:
pnpm install
```

You can run the app in development mode with:
### Starting the app

You can run the app with:

```bash
# For development purposes:
pnpm tauri dev

# If you need optimizations:
pnpm tauri dev --release
```

And build the application with:
Expand All @@ -63,3 +63,15 @@ You can also run the app in the iOS or Android simulator, though it may take som
pnpm tauri ios dev
pnpm tauri android dev
```

### Testing

Currently, only the wallet driver code has tests. These can be run with:

```bash
RUST_LOG=debug,sqlx=off cargo t -p sage-wallet
```

The `sqlx=off` portion gets rid of noisy log spam from SQLx.

Most of the tests for the underlying coin spend implementations live in the Wallet SDK repo.
Loading