Giter VIP home page Giter VIP logo

boltcards's Introduction

phase: beta license-badge docs-badge PRs: welcome Lightning network wallet

The world's most powerful suite of bitcoin tools.

Run for yourself, for others, or as part of a stack.

LNbits is beta, for responsible disclosure of any concerns please contact an admin in the community chat.

LNbits is a Python server that sits on top of any funding source. It can be used as:

  • Accounts system to mitigate the risk of exposing applications to your full balance via unique API keys for each wallet
  • Extendable platform for exploring Lightning network functionality via the LNbits extension framework
  • Part of a development stack via LNbits API
  • Fallback wallet for the LNURL scheme
  • Instant wallet for LN demonstrations

LNbits can run on top of almost all Lightning funding sources.

See LNbits manual for more detailed documentation about each funding source.

Checkout the LNbits YouTube video series.

LNbits is inspired by all the great work of opennode.com, and in particular lnpay.co. Both work as funding sources for LNbits.

Running LNbits

Test on our demo server demo.lnbits.com, or on lnbits.com software as a service, where you can spin up an LNbits instance for 21sats per hr.

See the install guide for details on installation and setup.

LNbits account system

LNbits is packaged with tools to help manage funds, such as a table of transactions, line chart of spending, export to csv. Each wallet also comes with its own API keys, to help partition the exposure of your funding source.

LNbits extension universe

Extend YOUR LNbits to meet YOUR needs.

All non-core features are installed as extensions, reducing your code base and making your LNbits unique to you. Extend your LNbits install in any direction, and even create and share your own extensions.

LNbits API

LNbits has a powerful API, many projects use LNbits to do the heavy lifting for their bitcoin/lightning services.

LNbits node manager

LNbits comes packaged with a light node management UI, to make running your node that much easier.

LNbits across all your devices

As well as working great in a browser, LNbits has native IoS and Android apps as well as a chrome extension. So you can enjoy the same UI across ALL your devices.

Tip us

If you like this project send some tip love!

boltcards's People

Contributors

arbadacarbayk avatar arcbtc avatar billigsteruser avatar dni avatar gorrdy avatar iwarpbtc avatar motorina0 avatar prusnak avatar talvasconcelos avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

boltcards's Issues

[UI BUG] paste uid is not possible

If you don’t have Chrome or are on iOS you cannot tap to import the uid but you will have to paste it e.g. from the bolt card writer app. Sadly pasting does not work for a lot of phones, the context menue to paste does not show up on a long press.

boltcard extension - static card id value is bad for user privacy

The current lnbits boltcard extension includes a per-card id value in the static lnurlw.

This is terrible for user privacy as every PoS (point-of-sale) that reads the card will get an unneccesary card identifier. While this does not directly identify the user, one link to the card user will identify them for all previous transactions on that PoS system.

Compare these two lnurlw schemes:

lnbits boltcard extension
lnurlw://YOUR-DOMAIN.COM/boltcards/api/v1/scan/{YOUR_card_external_id}?p=00000000000000000000000000000000&c=0000000000000000

Bolt Card server
lnurlw://card.yourdomain.com/ln?p=00000000000000000000000000000000&c=0000000000000000

Note
It is also neccessary to ensure that GetVersion and GetCardUID do not return the card UID. I have prototyped this and verified that it is possible. This is due to be implemented in the Bolt Card app in the near future.

LUD21 update - pin on withdrawal/payment

LUD21 update - pin on withdrawal/payment above a certain amount

  • Configurable 4digit PIN per card (not UID cause random-UID is planned)
  • Configurable amount
  • Set card status to deactivated on 3 failed pin-retries
  • Show descriptive Errors for "Wrong Pin" and "card disabled"

lnbits/tpos#16

[Feature request] Boltcards View for checking balance and transactions

I'm creating boltcards, and it would be nice to have a simple view to show the balance of the boltcard and latest transactions, without the possibility to spend the funds or allowing full access to the wallet. The owner of the account can have this page as a bookmark on the mobile, and the actual access code of the wallet stored somewhere else, for example on separate paper or on main computer.

View with address like /public/<invoice_id> which would display balance and list latest transactions, but not divulge any additional information beyond that. This would be useful when making payments with the boltcard and allowing to quickly see the balance. The view could be used also for other useful things but initially just a view with a balance and transactions would be immensely helpful.

I have created boltcards with a QR code link to the actual wallet, but I think this is unoptimal since for example anyone can snatch the qr code quite easily when waving it around, which is quite unoptimal.

Can't add card with 0.0.2

First time user trying to add first NFC card to boltcards extension v0.0.2.

Kept getting following error:

boltcard_error

Worked fine on legend (0.0.1 extension) and someone else's instance (also 0.0.1).

Finally figured out how to manually downgrade extension (by copying files manually) to 0.0.1 on my own instance and I can now add the UID.

So I can only assume that 0.0.2 has broken things.

[Feature request] Batch generation of Bolt-Cards

There should be a way to batch-generate Boltcards
Generation should include

  • the link to be written to the card incl all possible mutations
  • the link to be used to wipe it
  • lnurlp for the same wallet
    => optionally top it up
    => write all to a .json
    ==> write one after the other to cards

Workflow analog to https://nfc-brrr.com/ just for Boltcards. Nice addition there was that you
could print one of the links (e.g. wipe-link) to a sticker, that can be put on the respective card.

REFERENCES
https://github.com/PraiaBitcoin/bulk-boltcards
https://github.com/leesalminen/bulk-boltcards
https://github.com/slaapyhoofd/brrr

LNURLP
Swiss Bitcoin Pay creates the lnurlp as randomly generated lnaddress on the fly at each tap so 0 tracking possible by ATM operator, ISPs and others.

WRITING

  • Should not only be possible on own instance. Own instance should be default but configurable.
  • Allow writing those one after the other e.g. with the lnbits pos-terminal where it should then be preinstalled.

Orphaned cards, when a wallet is deleted - burning uids on the server

If you delete a wallet without deleteing the cards first the cards are orphaned.

  1. Create a wallet.
  2. Enable Boltcards extension
  3. Create a Card UID=12345671234567
  4. Delete the wallet

That UID cannot be used on that server again.
Also the card cannot be deleted using the api leaving no easy way out.
grafik

Shouldnt the column "wallet" in the "cards"-table be a FOREIGN KEY with CASCADE DELETE?
grafik

Bad links from hashtag in wallet transaction history

Hello,

LNBits v0.10.9 (current branch from source)

When I use Bolt cards your extension makes hashtag #bolcard in a transaction history in a bound wallet.
When I click by hashtag I am redirected to https://mydomain.com/boltcard/?usr=.... but real links for bolt cards are https://mydomain.com/boltcards/?usr=....

I think it's bug of your extension. Or hashtag should be as #boldcards not #bolcard if it's an embeded algorithm of a redirect map.

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.