Coder Social home page Coder Social logo

omnilaboratory / obandroid Goto Github PK

View Code? Open in Web Editor NEW
926.0 17.0 13.0 1.73 GB

OBAndroid is a self-custodial OmniBOLT Lightning wallet for android devices. It provides a platform for simple, instantaneous Bitcoin/Omnilayer asset payments

License: MIT License

Java 100.00%
bitcoin lightning usdt lightning-network payments

obandroid's Introduction

OBAndroid

OBAndroid is a self-custodial OmniBOLT Lightning wallet for android devices. It provides a platform for simple, instantaneous Bitcoin/Omnilayer asset payments. OBAndroid is now in developer beta, and will be in public beta in Nov/Dec 2022, available on Android only.

obwallet screenshots

Features

  • Self-custodial

  • obd-lnd on Android

  • Mainnet, testnet, regtest

  • Bitcoin/Omnilayer wallet(layer 1): store, pay, receive, backup, restore

  • Bitcoin lightning payment(layer 2)

  • Omnilayer assets lightning payment(layer 2), e.g. OMNI, USDT, etc

  • Manage local and remote nodes

  • Create and fund channels by any Omnilayer assets

  • Management liquidity

  • Create, manage invoices( OmniBOLT 7)

  • Pay invoices ( OmniBOLT 7)

  • Cloud and local backup for channels

  • DEX in wallet

  • Marketplace

  • Trading histroy

System Requirements

  • Android 8+ 64bits

Compatibility

Bitcoin and Omnilayer addresses

For onchain transactions, the receiving address of omni assets must be p2pkh, that is:

  1. Mainnet: address starting with 1
  2. Testnet: address starting with 'm' or 'n'
  3. Regtest: address starting with 'm' or 'n'

BECH32 addresses(pubkey hash or script hash starting with bc1 on mainnet, tb1 on testnet) are not supported(OmniBOLT 2), and sending omni assets to BECH32 addresses will result in permanent fund loss. OBAndroid protects users from such dangerous operations.

Bitcoin transactions support all legal BTC receiving addresses, including bech32 (starting with bc) addresses.

Invoice format

The currently supported invoice format is OmniBOLT 7.

BOLT 11 lacks asset awareness and is not supported by OBAndroid at this stage, paying BTC/satoshi to a BOLT 11 invoice will cause the payment to fail.

obd and lnd versions

Full OBAndroid functionality depends on running a certain version of obd on mobile devices. View the table below to ensure that you run the correct version of obd with the relevant OBAndroid release. The bundled version will always come with the correct, compatible versioning. To connect to remote obd nodes, you should check the compatibility dependency below.

OBWallet obd
v0.1-alpha to be added

Token/Bitcoin Testnet Faucets

token faucet: http://43.138.107.248:9090/swaggerTool/?surl=http://192.144.199.67:8090/openapiv2/foo.swagger.json#/tools/tools_SendCoin
token-property id: 2147485160  

btc-testnet faucet: https://testnet-faucet.com/btc-testnet/ 

Get Help

If you encounter any issues please report the issue in this repo or on discord with screenshots and how to reproduce the bug/error.

License

This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. See LICENSE for more information.

obandroid's People

Contributors

healergyl avatar neocarmack avatar progressortch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obandroid's Issues

Error found when sending BTC

image

1. An error will be reported if the input is greater than 8 digits after the decimal point, but the error message is not clear. Appropriate prompt information needs to be added here, and local verification is required before calling the interface.

2. When entering address nickname after transfer, input space fails

an invoice can be paid twice

Steps to reproduce:

Me: create an invoice, and close wallet(keep offline).

Payer 1: scan to pay the invoice, succeed. And I received the payment.

Two hours later:

Payer 2 scan to pay the same invoice, succeed. And i did not receive the second payment(which is correct at the payee side). The money is collected by the liquidity node. This is wrong. This payment MUST not be successful. Payer 2 MUST get information that the invoice can not be paid twice.

User needs to be prompted to create a channel

When the wallet pays (or creates an invoice), if the user has not created an asset channel, the user needs to be prompted to create a channel. Because people don't know the principle of Lightning Network, just want to use a convenient wallet. So this is from a user perspective.

Error found when creating Dollar channel

image

1. The text is too long causing the text to overlap
2. The content entered by memo is not judged before calling the interface, and there is no input limit
3. Is it because the estimated value of the channel creation fee is too large, and the channel cannot be created when the balance is still 0.0003

When showing value in dollar, 2 decimal is enough.

When showing value in dollar, 2 decimal is enough. There is no need to show a value in 8 decimal.

But the amount should be 8 decimal.

For example: the bitcoin amount is 0.01023376, the value to display in dollar is 242.95 ( 242.9494624 ).

Error found when sending Dollar

image

1. Entering 20 digits after the decimal point will not report an error. Appropriate prompt information needs to be added here, and local verification is required before calling the interface.
2. The pop-up window opened by dollar, the token of the default transaction is not dollar.
3. Close the confirmation window after clicking send, the amount may be changed to the BTC amount, and the balance is incorrect.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.