mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-25 07:07:48 +01:00
.. | ||
static | ||
templates/watchonly | ||
__init__.py | ||
config.json | ||
crud.py | ||
helpers.py | ||
migrations.py | ||
models.py | ||
README.md | ||
views.py | ||
views_api.py |
Onchain Wallet (watch-only)
Monitor an onchain wallet and generate addresses for onchain payments
Monitor an extended public key and generate deterministic fresh public keys with this simple watch only wallet. Invoice payments can also be generated, both through a publically shareable page and API.
You can now use this wallet on the LNBits SatsPayServer extension
Wallet Account
- a user can add one or more
xPubs
ordescriptors
- the
xPub
fingerprint must be unique per user - such and entry is called an
Wallet Account
- the addresses in a
Wallet Account
are split intoReceive Addresses
andChange Address
- the user interacts directly only with the
Receive Addresses
(by sharing them) - see BIP44 for more details
- same
xPub
will always generate the same addresses (deterministic)
- the
- when a
Wallet Account
is created, there are generated20 Receive Addresses
and5 Change Address
- the limits can be change from the
Config
page (seescreenshot 1
) - regular wallets only scan up to
20
empty receive addresses. If the user generates addresses beyond this limit a warning is shown (seescreenshot 4
)
- the limits can be change from the
Scan Blockchain
- when the user clicks
Scan Blockchain
, the wallet will loop over the all addresses (for each account)- if funds are found, then the list is extended
- will scan addresses for all wallet accounts
- the search is done on the client-side (using the
mempool.space
API).mempool.space
has a limit on the number of req/sec, therefore it is expected for the scanning to start fast, but slow down as more HTTP requests have to be retried - addresses can also be rescanned individually form the
Address Details
section (Addresses
tab) of each address
New Receive Address
- the
New Receive Address
button show the user the NEXT un-used address- un-used means funds have not already been sent to that address AND the address has not already been shared
- internally there is a counter that keeps track of the last shared address
- it is possible to add a
Note
to each address in order to remember when/with whom it was shared - mind the gap (
screenshot 4
)
Addresses Tab
- the
Addresses
tab contains a list with the addresses for all theWallet Accounts
- only one entry per address will be shown (even if there are multiple UTXOs at that address)
- several filter criteria can be applied
- unconfirmed funds are also taken into account
Address Details
can be viewed by clicking theExpand
button
History Tap
- shows the chronological order of transactions
- it shows unconfirmed transactions at the top
- it can be exported as CSV file
Coins Tab
- shows the UTXOs for all wallets
- there can be multiple UTXOs for the same address
New Payment
- create a new
Partially Signed Bitcoin Transaction
- multiple
Send Addresses
can be added- the
Max
button next to an address is for sending the remaining funds to this address (no change)
- the
- the user can select the inputs (UTXOs) manually, or it can use of the basic selection algorithms
- amounts have to be provided for the
Send Addresses
beforehand (so the algorithm knows the amount to be selected)
- amounts have to be provided for the
Show Advanced
allows to (seescreenshot 2
):- select from which account the change address will be selected (defaults to the first one)
- select the
Fee Rate
- it defaults to the
Medium
value at the moment theNew Payment
button was clicked - it can be refreshed
- warnings are shown if the fee is too Low or to High
- it defaults to the
Create PSBT
- based on the Inputs & Outputs selected by the user a PSBT will be generated
- this wallet is watch-only, therefore does not support signing
- it is not mandatory for the
Selected Amount
to be grater thanPayed Amount
- the generated PSBT can be combined with other PSBTs that add more inputs.
- the generated PSBT can be imported for signing into different wallets like Electrum
- import the PSBT into Electrum and check the In/Outs/Fee (see
screenshot 3
)
- import the PSBT into Electrum and check the In/Outs/Fee (see