Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Mazzaroth Wallet Manager

A secure, modern desktop application for managing Mazzaroth blockchain accounts, built with Tauri and React.

Features

  • πŸ” BIP39 Wallet Support: Create and import wallets using BIP39 mnemonic phrases
  • πŸ’Ό Multi-Account Management: Manage multiple accounts within a single wallet
  • ✍️ Transaction Signing: Sign transactions with your private keys
  • πŸ”’ Secure Storage: Encrypted private key storage with PBKDF2
  • 🎨 Modern UI: Beautiful, responsive interface built with React
  • ⚑ Native Performance: Built with Tauri for optimal performance and security

Screenshots

Wallet Manager Interface

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v18 or later)
  • Rust (latest stable)
  • Bun (for package management)

System Dependencies

macOS

# Install Xcode Command Line Tools
xcode-select --install

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev

Windows

Installation

  1. Clone the repository

    git clone https://github.com/mazzaroth-network/rwmth.git
    cd rmth
  2. Install dependencies

    bun install
  3. Run the development server

    bun run tauri dev

Building for Production

Development Build

bun run tauri dev

Production Build

bun run tauri build

The built application will be available in src-tauri/target/release/bundle/.

Usage

Creating a New Wallet

  1. Launch the application
  2. Enter a wallet name in the "Wallet name" field
  3. Click "Create Wallet"
  4. IMPORTANT: Save the generated mnemonic phrase securely - this is your only backup!

Importing an Existing Wallet

  1. Enter a wallet name
  2. Enter your 24-word BIP39 mnemonic phrase
  3. Click "Import Wallet"

Managing Accounts

  1. Load a wallet by clicking on it in the wallet list
  2. Add new accounts using the mnemonic phrase
  3. Select accounts by clicking on them
  4. View account details and public keys

Signing Transactions

  1. Load a wallet and select an account
  2. Enter transaction data in hex format
  3. Click "Sign Transaction"
  4. Copy the generated signature

Security Features

  • BIP39 Compliance: Uses industry-standard BIP39 for mnemonic generation
  • Encrypted Storage: Private keys are encrypted using PBKDF2
  • Secure Derivation: HD wallet derivation following BIP44 standards
  • Memory Safety: Built with Rust for memory safety and performance

Architecture

Frontend (React + TypeScript)

  • Modern React with hooks and functional components
  • TypeScript for type safety
  • Responsive design with CSS Grid and Flexbox
  • Real-time updates and error handling

Backend (Rust + Tauri)

  • Rust for performance and security
  • Tauri for native desktop capabilities
  • BIP39/BIP44 wallet implementation
  • Encrypted storage with PBKDF2

Key Components

src/
β”œβ”€β”€ App.tsx              # Main application component
β”œβ”€β”€ App.css              # Application styles
└── main.tsx             # Application entry point

src-tauri/src/
β”œβ”€β”€ lib.rs               # Tauri commands and app setup
β”œβ”€β”€ crypto.rs            # Cryptographic operations
β”œβ”€β”€ storage.rs           # File system storage
β”œβ”€β”€ types.rs             # Data structures
└── wallet.rs            # Wallet management logic

Development

Project Structure

rmth/
β”œβ”€β”€ src/                 # Frontend React code
β”œβ”€β”€ src-tauri/          # Backend Rust code
β”œβ”€β”€ cli/                # CLI version (original)
β”œβ”€β”€ public/             # Static assets
└── dist/               # Built frontend

Available Scripts

  • bun run dev - Start development server
  • bun run build - Build frontend for production
  • bun run tauri dev - Run Tauri development build
  • bun run tauri build - Build Tauri application
  • bun run preview - Preview production build

Adding New Features

  1. Backend (Rust): Add new Tauri commands in src-tauri/src/lib.rs
  2. Frontend (React): Add new components and update src/App.tsx
  3. Types: Update interfaces in both Rust and TypeScript

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Tauri - For the amazing desktop framework
  • BIP39 - For the mnemonic standard
  • React - For the frontend framework
  • Rust - For the backend language

Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Join our Discord for community support

Roadmap

  • Hardware wallet support
  • Multi-language support
  • Advanced transaction builder
  • Network integration
  • Mobile app version
  • Plugin system for custom features

⚠️ Security Warning: This is experimental software. Always test with small amounts and never use for large transactions without thorough testing.

About

The Mazzaroth Wallet Manager implemented in rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages