Lightning Dev Kit Android Demo Wallet

Related tags

App uMlando-wallet
Overview

uMlando-wallet

Lightning Dev Kit Android Demo Wallet

This project uses a .aar package for the Android platforms that provide language bindings for the LDK. The Kotlin language bindings are created by the ldk-garbagecollected project and the latest release can be found here.

How to use

To include the LDK Kotlin bindings in an Android project download the latest binary from here and place it in your libs directory.

Then add to your build.gradle file:

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

You may then import and use the org.ldk library in your Kotlin code. For example:

import org.ldk.structs.*

Note: i686 builds are not included in aars in order to preserve space - there are builds for x86_64, so make sure to install a compatible emulator

Features

  • Connect to a peer
  • List peers
  • Get Node ID
Comments
  • Add composable to control system bars colour and visibility

    Add composable to control system bars colour and visibility

    This PR adds the ability to control whether the two system bars (status bar up top and navigation bar at the bottom) are visible and the colours/transparency they should have.

    For now I simply made the status bar transparent so as to remove the blue stripe we had at the top, but I also added and commented out the code to change the navigation bar and show/hide either of them, just so we have the option and it's easy to change. It's a surprisingly simple little composable:

    @Composable
    internal fun SystemBars() {
        rememberSystemUiController().apply {
            setStatusBarColor(
                color = Color.Transparent,
                darkIcons = true
            )
            // setNavigationBarColor(
            //     color = Color.Transparent,
            //     darkIcons = true
            // )
            // this.isNavigationBarVisible = false
            // this.isStatusBarVisible = false
        }
    }
    
    opened by thunderbiscuit 1
  • Add navigation and a few screens

    Add navigation and a few screens

    I really tried to keep this PR from getting too big but clearly it got away from me. Not only that, but I also had to do a rebase on commits I had not brought in when I started; I'm sorry if this is a bit of a pain to review.

    Overall, I aimed to keep the UI very simple and mostly just bring the structure required for further changes. My main idea was to create a bottom navbar with two core screens: a wallet/balance screen to eventually make transactions, and a settings screen with all of the options and extra things that a user needs to do. Each of those options/settings is a button that leads you to a dedicated screen for that feature (opening a channel, connecting to a peer, etc.)

    Here is basically what it brings in:

    Here are the cliff notes:

    1. The onchain wallet is now being created/restored automatically upon startup in the DispatchActivity. If the file with the mnemonic exists it uses it and restores the wallet, otherwise it creates a new mnemonic and uses that.
    2. The bottom bar works the following way: I have a container screen called HomeScreen, which contains a bottom nav bar and a sort empty container space above it, in which we place the other screens. The two screens available from the navbar are the Wallet and the Settings. From the settings screen, you can launch into different small sort of "sub-screens" (some of those could be turned into bottom sheets at some point too). The interesting file to take a look at is Navigation.kt. This is the core of the new navigation system using the Compose libraries.
    3. I removed a few unused imports, added 3 icons.
    opened by thunderbiscuit 1
  • Extra screens and navigation

    Extra screens and navigation

    I'm wondering if you'd like to add a few extra screens with maybe a bottom nav bar to split up the features/buttons into separate locations or if maybe you're trying to keep this as simple as it gets on the UI side just to focus on the LDK part of the wallet.

    Let me know, I can take a look and maybe PR a bit of navigation/screens if that's something you'd like to add.

    opened by thunderbiscuit 1
  • Adds screen to list usable channels

    Adds screen to list usable channels

    This adds a screen to list all the usable channels and the available balance.

    The logic for the balance/progress bar is not quite right (will update)

    Screenshot 2022-11-09 at 23 37 44

    opened by ConorOkus 0
  • Use global tag for logging to start

    Use global tag for logging to start

    I initially had written a few of the logging lines in a more traditional way with a specific tag for each file/class, but I'm now changing my tune; I think for now it makes sense to have more like a global tag to start, and maybe customize if or when it's required for specific logging entries.

    This PR simply creates a global default tag I called LDKTAG (not sure about the name but I needed something), and switches all log entries in the current app to use that tag. This makes it very easy to follow all tags emitted by us. I also fixed a small bug I introduced in the previous refactoring (capitalization of the getLatestBlockHash() method).

    logs
    opened by thunderbiscuit 0
  • Add onchain wallet object

    Add onchain wallet object

    This PR adds the OnchainWallet object which groups together most of the tasks related to onchain stuff.

    Calls throughout the app now become OnchainWallet.sync(), OnchainWallet.getNewAddress(), or OnchainWallet.buildFundingTx().

    Also worthy of review is the fact that I wasn't sure if the Global object really needed to be extending the Android Application class. I refactored it to be just a singleton, and it appears to be working fine on my end. Let me know if you'd prefer to keep it as it was.

    opened by thunderbiscuit 0
Owner
Conor Okus
Making bitcoin more than an investment
Conor Okus
Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation wallet apps are non-custodial tendermint-based wallet that supports Cosmos Network.

Cosmostation 44 Dec 21, 2022
Sample crypto wallet for Wallet Link SDK.

DemoWallet This repo is sample app for Wallet Link SDK. WalletLink is an open protocol that lets users connect their mobile wallets to your DApp. With

null 0 Dec 17, 2021
An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly.

An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly. The main aim of this repository is to help students who are learning Android Development or preparing for an Android Developer role-based job.

Mimo Patra 15 Dec 29, 2022
Projeto utilizado nos Dev Sprints Android na Devpass.

Space App Challenge ?? In this challenge, we will develop an Android application that shows SpaceX's upcoming releases. Contributing Clone this reposi

Devpass 5 Dec 15, 2022
Codice Java - CORSO VIANOVA/EXPERIS ANDROID APP DEV - KOTLIN

REPOSimoneDiMeglioCORSOJAVA CORSO VIANOVA/EXPERIS ANDROID APP DEV - KOTLIN 11/11/22 ---> Creata Repository - Simone Di Meglio 11/11/22 ---> Caricato P

simonedimeglio 4 Nov 14, 2022
MaterialDesignColorPalette 4.2 0.0 L3 Java This is a dev tool to visualize the colours of Material design defined on

MaterialDesignColorPalette This is a dev tool to visualize the colours of Material design defined on http://www.google.com/design/spec/style/color.htm

Guillaume Imbert 256 Oct 2, 2022
Base project for Devpass' Dev Sprints

Foundations Kotlin Challenge In this challenge, we're going to develop a simple Kotlin application where we'll apply language fundamental features. Co

Devpass 4 Oct 10, 2022
Dev Experience is a set of projects to make life easier for developers, in order to import, configure and use.

Dev Experience The experience that all developer need Dev Experience is a set of projects to make life easier for developers, in order to import, conf

Wagner Fernando Costa 3 Aug 31, 2022
Android-splash-screen-demo - Sample application to demo the various features provided in android-splash-screen

Android Splash screen API demo This is a sample application used to demonstrate the various features provided in android-splash-screen. More details c

Sridhar 1 Jan 3, 2022
OpenWeatherMap-API-Demo - Demo Android Application for OpenWeatherMap API

WeatherForecast Demo Android Application for OpenWeatherMap API Table of Content

Rashid Hussain 0 Jul 10, 2022
EU Digital COVID Certificate Wallet App - Android

This repository contains the source code of the EU Digital COVID Certificate Wallet App for Android.

null 57 Oct 6, 2022
Ergo Wallet for Android, built on top of Ergo Appkit.

Ergo Wallet Android Ergo Wallet for Android, built on top of Ergo Appkit. You need at least Android 7 to run Ergo Wallet. Features: generating wallets

Benjamin Schulte 80 Dec 14, 2022
Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

Ivy Wallet is an Open Source money manager app for android that you can either build or download from Google Play.

null 727 Dec 26, 2022
The Odysee Android app with wallet functionality

Odysee Android Release To create an APK file which can be installed on real devices, you will need to create a digital signature and then edit app/bui

Odysee 116 Dec 29, 2022
Ergo Wallet for Android

Ergo Wallet Android Official Ergo Wallet for Android (official announcement) Features: generating wallets, restoring wallets in a way compatible to Yo

Ergo 80 Dec 14, 2022
Bitcoin Wallet - a standalone Bitcoin payment app for your Android device

Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required Google Colab

DE MINING 0 Feb 25, 2022
Bitcoin-Wallet-Android Google Colab

Beta channel Run Google Colab https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing In order to receive updates quicke

DE MINING 0 Feb 25, 2022
Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains

Tonomy ID is the cross-platform mobile wallet (Android and iOS) for public and private EOSIO blockchains. This application allows you to sign transactions on the block chain, share your DID and Verifiable Credentials containing your identity with others in a consensual way and log into web2 and web3 applications. If you lose your phone several mechanisms exist to allow you to recover your account without trusting anyone with custody of your private keys.

null 7 Dec 24, 2022
Nova Wallet Android - Next get mobile app for Polkadot & Kusama ecosystem

Nova Wallet Android is a next gen application for Polkadot & Kusama ecosystem, transparent & community-oriented, focused on convenient UX/UI, fast performance & security.

Novasama Technologies 17 Dec 27, 2022