boltcard/docs/CARD_ANDROID.md
2022-08-11 07:16:18 +01:00

60 lines
1.8 KiB
Markdown

# Steps for making a bolt card with the Android app
## Introduction
Here we describe how to create your own bolt cards with the Bolt Card Android app and the Bolt Card service.
## Resources
- some `NXP DNA 424 NTAG` cards
- an Android device with NFC
- a Bolt Card serice
- [the Bolt Card app](https://github.com/boltcard/bolt-nfc-android-app)
- [the Bolt Card app usage document](https://github.com/boltcard/bolt-nfc-android-app#usage)
## Steps
### Install the app
- install the app from source or apk
### Write the URI template to the card
on the app
- select `Write NFC`
- enter your domain and path in the text entry box given
```
card.yourdomain.com/ln
```
- bring the card to the device for programming the URI template
- select `Read NFC`
- check that the URI looks correct
```
lnurlw://card.yourdomain.com/ln?c=...&p=...
```
- note the UID value
### Write the key values to the card
on the bolt card server
- enter the `createboltcard` directory
- `$ go build`
- `./createboltcard`
- this will give you a one use link in text and QR code form
on the app
- select `Key Management`
- click `scan QR code from console`
- scan the QR code
- bring the card to the device for programming the keys
### Update the card record on the server
on the bolt card server
- `$ psql card_db`
- `card_db=# select card_id, one_time_code from cards order by card_id desc limit 1;`
- check that this is the correct record (one_time_code matches from before)
- `card_db=# update cards set uid = 'UID value from before without the 0x prefix' where card_id=card_id from before;`
- `card_db=# update cards set enabled = 'Y' where card_id=card_id from before;`
### Make a payment
- monitor the bolt card service logs
- `$ journalctl -u boltcard.service -f`
- use a PoS setup to read the bolt card, e.g. [Breez wallet](https://breez.technology/)