Skip to content

shubham230523/Vaultix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vaultix

A next-generation Bitcoin Lightning Network wallet built for Android, leveraging the power of the Lightning Dev Kit (LDK) to deliver fast, secure, and scalable payment solutions.

Overview

Vaultix is a comprehensive mobile wallet application that demonstrates the integration of Lightning Network capabilities on Android devices. Built with Kotlin and powered by LDK's robust infrastructure, it provides users with a seamless experience for both on-chain Bitcoin transactions and off-chain Lightning payments.

Architecture

The application utilizes the LDK Android AAR package, which provides native Kotlin language bindings for the Lightning Dev Kit. This integration allows for:

  • Native Performance: Optimized C++ core with Kotlin-friendly APIs
  • Memory Safety: Garbage-collected bindings prevent memory leaks
  • Cross-Platform Compatibility: Supports ARM64 and x86_64 architectures

Key Features

Core Functionality

  • Bitcoin Wallet Management: Full on-chain wallet capabilities using BDK
  • Lightning Network Operations: Complete channel lifecycle management
  • Peer Connectivity: Discover, connect, and manage Lightning Network peers
  • Payment Processing: Send and receive Lightning payments instantly

Technical Capabilities

  • Node Identity Management: Generate and display unique node identifiers
  • Channel Operations: Open, monitor, and close payment channels
  • Payment Routing: Efficient payment path discovery and execution
  • Network Monitoring: Real-time peer and channel status tracking

Installation & Setup

Prerequisites

  • Android Studio Arctic Fox or later
  • Android SDK API level 24+
  • Kotlin 1.5+

Quick Start

  1. Clone this repository
  2. Download the latest LDK Android AAR from official releases
  3. Place the AAR file in the app/libs directory
  4. Build and run the project

Gradle Configuration

dependencies {
    implementation fileTree(include: ['*.aar'], dir: 'libs')
    // Additional dependencies as needed
}

Development Environment

For local testing and development, set up a Bitcoin regtest environment. Follow the comprehensive guide at Thunderbiscuit's Regtest Tutorial for complete setup instructions.

Usage

Basic Operations

import org.ldk.structs.*

// Initialize LDK components
val channelManager = ChannelManager(...)
val peerManager = PeerManager(...)

// Connect to a Lightning node
peerManager.connect_node(nodeId, socketAddr)

// Open a payment channel
channelManager.open_channel(nodeId, channelValue, pushMsat, channelConfig)

Implementation Status

Feature Status
On-chain Bitcoin Wallet Complete
Lightning Peer Connection Complete
Peer Discovery & Listing Complete
Node ID Generation Complete
Channel Opening Complete
Channel Management Complete
Payment Sending Complete
Payment Receiving Complete
Channel Closing In Progress

Technical Notes

  • Architecture Support: ARM64 and x86_64 builds included
  • Memory Management: Automatic garbage collection prevents leaks
  • Performance: Optimized for mobile devices with efficient resource usage
  • Security: Industry-standard cryptographic operations

Contributing

We welcome contributions to enhance Vaultix's capabilities. Please ensure all submissions follow the project's coding standards and include appropriate tests.

About

A next-generation Bitcoin Lightning Network wallet built for Android, leveraging the power of the Lightning Dev Kit (LDK) to deliver fast, secure, and scalable payment solutions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages