Skip to content

Forte11Cuba/lachispa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LaChispa ⚑

LaChispa Logo

A modern and easy-to-use mobile Lightning Network wallet

Flutter Dart Bitcoin Lightning


πŸ“± About LaChispa

LaChispa is a modern mobile application developed in Flutter that allows you to manage Bitcoin through Lightning Network using LNBits as backend. Designed with an intuitive interface and attractive visual effects, it makes Lightning Network usage accessible for everyone.

✨ Key Features

  • πŸ” Secure Authentication: Login and registration with multiple LNBits servers
  • πŸ’Ό Wallet Management: Support for multiple wallets with automatic selection
  • ⚑ Lightning Payments: Send and receive instant Lightning payments
  • πŸ“§ Lightning Address: Create and manage personalized Lightning Addresses
  • 🎯 Multiple Formats: Support for BOLT11, LNURL, and Lightning Address
  • πŸ’± Currency Conversion: Integration with Yadio.io for USD, CUP and sats (more denominations coming)
  • πŸ“Š Complete History: Detailed visualization of all transactions
  • 🌐 Multiplatform: Android, iOS, Web, Windows, macOS and Linux

πŸš€ Screenshots

Welcome Screen Home Screen Sending Bitcoin Receive Screen Transaction History
Welcome Screen Home Screen Send Payment Receive Payment Transaction History
Easy onboarding Wallet management Multiple formats QR code generation Complete transaction log

πŸ”§ Technologies Used

Frontend

  • Flutter 3.0+: Cross-platform framework
  • Dart: Programming language
  • Provider: State management
  • QR Flutter: QR code generation
  • Mobile Scanner: QR code scanning

Backend & APIs

  • LNBits: Lightning Network server
  • Yadio.io: Exchange rate conversion
  • Lightning Network: Payment protocol

Technical Features

  • Secure Storage: Secure credential storage
  • Dio HTTP Client: Optimized HTTP requests
  • Real-time Updates: Automatic balance updates
  • Responsive Design: Automatic adaptation to different screen sizes

πŸ“¦ Installation

Prerequisites

  • Flutter SDK (>=3.0.0)
  • Dart SDK
  • Configured LNBits server

Clone the Repository

git clone https://github.com/Forte11Cuba/lachispa.git
cd lachispa

Install Dependencies

flutter pub get

Run the app in emulator

flutter run

Build for your Platform

Android:

flutter build apk --release

iOS:

flutter build ios --release

Web:

flutter build web --release

Desktop:

flutter build windows --release  # Windows
flutter build macos --release    # macOS
flutter build linux --release    # Linux

βš™οΈ Configuration

LNBits Servers

The application comes preconfigured with public LNBits servers, but you can add your own server:

  1. Open the application
  2. Go to "Change server"
  3. Select "Custom server"
  4. Enter your LNBits server URL

πŸ—οΈ Architecture

Project Structure

lib/
β”œβ”€β”€ main.dart                 # Entry point
β”œβ”€β”€ models/                   # Data models
β”‚   β”œβ”€β”€ wallet_info.dart
β”‚   β”œβ”€β”€ lightning_invoice.dart
β”‚   └── ln_address.dart
β”œβ”€β”€ providers/                # State management
β”‚   β”œβ”€β”€ auth_provider.dart
β”‚   β”œβ”€β”€ wallet_provider.dart
β”‚   └── ln_address_provider.dart
β”œβ”€β”€ screens/                  # Application screens
β”‚   β”œβ”€β”€ 1welcome_screen.dart
β”‚   β”œβ”€β”€ 6home_screen.dart
β”‚   └── ...
β”œβ”€β”€ services/                 # API services
β”‚   β”œβ”€β”€ auth_service.dart
β”‚   β”œβ”€β”€ wallet_service.dart
β”‚   └── invoice_service.dart
└── widgets/                  # Reusable components
    β”œβ”€β”€ qr_scanner_widget.dart
    └── spark_effect.dart

πŸ” Security

  • Secure Storage: Locally encrypted credentials
  • HTTPS Only: All communications encrypted
  • No Logging: No sensitive information logging
  • Session Management: Secure session management
  • Input Validation: Comprehensive input validation

πŸ“± Compatibility

Supported Platforms

  • βœ… Android (API 21+)
  • βœ… iOS (iOS 12.0+)
  • βœ… Web (Chrome, Firefox, Safari)
  • βœ… Windows (Windows 10+)
  • βœ… macOS (macOS 10.14+)
  • βœ… Linux (Ubuntu 18.04+)

🀝 Contributing

Contributions are welcome! Please:

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

πŸ“„ License

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

About

A mobile interface to easily connect with any LNbits instance

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •