8000 GitHub - qubic/Qubic.NET.Wallet.Mobile · GitHub
[go: up one dir, main page]

Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Qubic Mobile Wallet

Important

Lab Project — This is an experimental/research project and is not intended for production use. Use at your own risk. Do not use with significant funds.

A cross-platform mobile wallet for the Qubic network, built with .NET MAUI Blazor Hybrid.

home screen defi screen

Features

  • Vault Management — Encrypted vault with multiple seeds, contacts address book, import/export, biometric unlock (fingerprint/face)
  • Networks — Switch between Mainnet, a local AIO Dev Kit and your own networks (More → Networks); each network uses Bob, RPC and/or direct node connections, chosen per operation, with no silent fallback to other servers (guide)
  • Signing review — Every signature shows the network, the decoded contract call, the target tick and warnings (replay risk across networks, public dev keys on Mainnet) before anything is signed (guide)
  • Send QU — Transfer QU tokens with transaction tracking, auto-resend, a fixed tick offset or "execute in ~N seconds", and pasted qubic: payment links
  • Receive / QR Code — Generate and share QR codes for your wallet address, or a payment request with amount and message
  • Asset Management — View owned assets with details and transfer capability
  • DeFi Hub — Access QEarn staking, QSwap, MSVault multi-sig, and QX exchange
  • Transaction History — Merged view of tracked and synced transactions with status badges, filters, and pagination
  • Log Events — Browse synced log events (transfers, asset operations, contract messages) with type filters
  • Sync Manager — Real-time sync status, stream diagnostics, database stats, and watermark management
  • QR Scanner — Native camera-based QR scanning on all address input fields
  • Settings — Network profiles, transaction parameters, data import/export
  • Optional features (More → Features, all off by default): Developer tools with dev accounts, faucet and Contract Console; Sign-In with Qubic; WalletConnect with QR pairing (guide)

Developing on a local testnet? See the AIO tutorial. On the emulator use host 10.0.2.2; on a USB phone run adb reverse tcp:40420 tcp:40420 && adb reverse tcp:41841 tcp:41841.

Architecture

The app uses a Blazor Hybrid approach: native MAUI shell with a BlazorWebView rendering the UI. All business logic lives in the shared Qubic.Services library (included as a git submodule), which is the same codebase used by the desktop wallet.

Qubic.Net.Wallet.Mobile/
├── Components/
│   ├── Layout/          # MobileLayout (nav bar, tab bar)
│   ├── Pages/           # Blazor pages (Home, Send, Assets, DeFi, Vault, ...)
│   └── Shared/          # Reusable components (AddressInput, ConfirmModal, ...)
├── Services/            # Mobile-specific services (QrScannerService)
├── Pages/               # Native MAUI pages (ScanPage for camera)
├── Platforms/android/   # Android manifest, MainActivity
├── Resources/           # App icon, splash screen, fonts
├── wwwroot/             # Static assets (CSS, JS, SVG logos)
└── deps/Qubic.Net/      # Git submodule → shared library

Key Dependencies

Package Purpose
Microsoft.Maui.Controls .NET MAUI framework
Microsoft.AspNetCore.Components.WebView.Maui Blazor Hybrid WebView
Oscore.Maui.Biometric Fingerprint/face authentication
BarcodeScanning.Native.Maui Native QR code scanning (ML Kit)
QRCoder QR code generation
SQLitePCLRaw.bundle_e_sqlcipher Encrypted SQLite storage

Building

Prerequisites

  • .NET 10 SDK with the maui-android workload (dotnet workload install maui-android)
  • Android SDK (API 24+, build tools for API 35)
  • Java 11 JDK

Build APK

dotnet publish -f net10.0-android -c Release

The signed APK is output to:

bin/Release/net10.0-android/publish/org.qubic.lab.wallet-Signed.apk

Install on Device/Emulator

adb install -r bin/Release/net10.0-android/publish/org.qubic.lab.wallet-Signed.apk

Setup After Clone

The shared library is a git submodule. After cloning, initialize it:

git submodule update --init --recursive

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0