Documentation updates for v1.0
This commit is contained in:
parent
1f9b78383a
commit
664a9b6cf5
94
README.md
94
README.md
@ -1,5 +1,7 @@
|
||||
<div align="center">
|
||||
<img src="gui/ui/static/logos/liana-app-icon.svg" width="140px" />
|
||||
<a href="https://wizardsardine.com/liana" target="_blank">
|
||||
<img src="gui/ui/static/logos/liana-app-icon.svg" width="140px" />
|
||||
</a>
|
||||
|
||||
# Liana
|
||||
|
||||
@ -14,22 +16,9 @@ Liana is a simple Bitcoin wallet that features a timelocked recovery path for al
|
||||
is, your coins are spendable as with a regular wallet but a secondary key becomes available after a
|
||||
configurable period of time should the primary one not be accessible anymore.
|
||||
|
||||
Liana can be used for inheritance, where the owner of the coins is holding the primary key and the
|
||||
heir the secondary one. It can also be leveraged for recovery where a single person is holding both
|
||||
but different tradeoffs can be made between the backup(s) of the directly accessible and timelocked
|
||||
keys.
|
||||
|
||||
Learn more about Liana from our [announcement blog
|
||||
post](https://wizardsardine.com/blog/liana-announcement/) and about how it was enhanced with
|
||||
Multisig from our [second release post](https://wizardsardine.com/blog/liana-0.2-release/).
|
||||
|
||||
Liana is still under heavy development. Multisig support was implemented in the second release and
|
||||
the possibility for having multiple timelocked recovery paths was in the fourth release. Regular
|
||||
wallet features (RBF, coin selection, ..) are planned. We also intend to switch to using Taproot as
|
||||
soon as possible, for enhanced privacy.
|
||||
|
||||
**As such please consider Liana to be beta software.**
|
||||
Liana can be used for inheritance, decaying multisigs or safer backups.
|
||||
|
||||
**[https://wizardsardine.com/liana](https://wizardsardine.com/liana)**
|
||||
|
||||
## Usage
|
||||
|
||||
@ -48,13 +37,14 @@ your machine yet, you can download it [there](https://bitcoincore.org/en/downloa
|
||||
|
||||
### Installing the software
|
||||
|
||||
The recommended installation method for regular users is to download an executable software release. If you prefer to
|
||||
build the project from source, see [`doc/BUILD.md`](doc/BUILD.md) instead.
|
||||
The recommended installation method for regular users is to download [an executable software
|
||||
release](https://github.com/wizardsardine/liana/releases). If you prefer to build the project from
|
||||
source, see [`doc/BUILD.md`](doc/BUILD.md) instead.
|
||||
|
||||
Head to the [release page](https://github.com/wizardsardine/liana/releases) and download the right
|
||||
executable for your platform. If you are not sure what is the "right" executable for your platform,
|
||||
choose `liana-0.4.exe` if you are on Windows, `liana-0.4.dmg` if you are on MacOS and
|
||||
`liana-0.4-x86_64-linux-gnu.tar.gz` if you are on Linux.
|
||||
choose `liana-1.0.exe` if you are on Windows, `Liana.zip` if you are on MacOS and
|
||||
`liana-1.0-x86_64-linux-gnu.tar.gz` if you are on Linux.
|
||||
|
||||
For every file available on the release page, there is an accompanying `.asc` file with the same
|
||||
name. This is a GPG signature made with Antoine Poinsot's key:
|
||||
@ -63,29 +53,19 @@ as on [his Twitter profile](https://twitter.com/darosior) or his [personal
|
||||
website](http://download.darosior.ninja/darosior.pub). It is recommended you verify your download
|
||||
against this key.
|
||||
|
||||
Note that we do not codesign ("notarize") the released binaries for now. Windows or MacOS may
|
||||
prevent you from installing the software. On MacOS, you would get a warning saying the developer of
|
||||
this application couldn't be verified. This is because we didn't register with Apple prior to
|
||||
releasing the application. Make sure you verified the GPG signature of the download, then add an
|
||||
exception for Liana by following the steps from [this Apple support
|
||||
#### Apple, Windows, codesigned and notarized binaries
|
||||
|
||||
We distribute both a non-codesigned and a codesigned-and-notarized MacOS application
|
||||
(`Liana-noncodesigned.zip` and `Liana.zip`). To run the non-codesigned app, see [this Apple support
|
||||
guide](https://support.apple.com/en-us/HT202491) (section "If you want to open an app that hasn’t
|
||||
been notarized or is from an unidentified developer").
|
||||
|
||||
Releases of Liana are reproducibly built. See [`contrib/reproducible`](contrib/reproducible) for
|
||||
details and instructions if you want to check a release.
|
||||
We do not yet distribute codesigned binaries for Windows at this time.
|
||||
|
||||
### Setting up a wallet
|
||||
|
||||
If you are using the graphical user interface (GUI), you can just start the program. It will spawn an installer that will guide
|
||||
you through the process of setting up a new wallet.
|
||||
### Wallet usage tips and tricks
|
||||
|
||||
If you are using the daemon, you will need to specify its configuration as a TOML file. There is a
|
||||
documented example of such a configuration file in the [`contrib/` folder](contrib/lianad_config_example.toml).
|
||||
Then you can start the daemon like so:
|
||||
```
|
||||
lianad --conf /path/to/your/conf.toml
|
||||
```
|
||||
#### The script descriptor
|
||||
#### Script descriptor backup
|
||||
|
||||
In Bitcoin, the conditions for spending a certain amount of coins are expressed using
|
||||
[Script](https://en.bitcoin.it/wiki/Script). In order to be able to recover your coins, you need to
|
||||
@ -105,13 +85,20 @@ Therefore you may afford a greater number of backups of your descriptor(s) and u
|
||||
mediums than for storing your private key(s).
|
||||
|
||||
|
||||
### Using a wallet
|
||||
#### On refreshing coins
|
||||
|
||||
You can use Liana just like a regular wallet. Just be aware that if you are using a relative
|
||||
You can use Liana just like a regular wallet. Simply be aware that if you are using a relative
|
||||
timelock (the only type of timelocks supported for now), time starts ticking when you receive a
|
||||
payment. That is if you want the recovery path to never be available, each coin must be spent
|
||||
at least once every `N` blocks. (With `N` the configured value of the timelock.)
|
||||
|
||||
The GUI provide simple shortcuts to refresh one or more coin(s) if the recovery path is close to
|
||||
become available. This is achieved by making a transaction to yourself (if you don't need to make a
|
||||
payment.)
|
||||
|
||||
|
||||
#### Signing devices and "hot" keys
|
||||
|
||||
Liana can be used as a hot wallet. Note that mnemonics would be stored in clear on your drive. We
|
||||
strongly recommend using a hardware signing device for any non-trivial amount.
|
||||
|
||||
@ -120,12 +107,14 @@ of the signer is a must. More signing devices are expected to implement Miniscri
|
||||
near future. For more information (such as minimum supported versions, please read the [signing
|
||||
devices documentation](./doc/signing_devices.md).
|
||||
|
||||
If you are using the GUI, it should be intuitive what menu to use depending on your intention. If it
|
||||
is not, bug reports are very welcome so [feel free to report it](https://github.com/wizardsardine/liana/issues)! :)
|
||||
|
||||
If you are using the daemon, you can use the `liana-cli` binary to send commands to it. It will need
|
||||
the path to the same configuration as the daemon. You can find a full documentation of the JSONRPC
|
||||
API exposed by `lianad` at [`doc/API.md`](doc/API.md). For instance:
|
||||
#### Using the daemon
|
||||
|
||||
Liana can be run as a headless server using the `lianad` program.
|
||||
|
||||
You can use the `liana-cli` program to send commands to it. It will need the path to the same
|
||||
configuration as the daemon. You can find a full documentation of the JSONRPC API exposed by
|
||||
`lianad` at [`doc/API.md`](doc/API.md). For instance:
|
||||
```
|
||||
$ liana-cli --conf ./signet_config.toml getinfo
|
||||
{
|
||||
@ -141,20 +130,19 @@ $ liana-cli --conf ./signet_config.toml getinfo
|
||||
"network": "regtest",
|
||||
"rescan_progress": null,
|
||||
"sync": 1.0,
|
||||
"version": "0.4.0"
|
||||
"version": "1.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Note also that you might connect the GUI to a running `lianad`. If the GUI detects a daemon is
|
||||
already running, it will plug to it and communicate through the JSONRPC API.
|
||||
|
||||
|
||||
### Using the recovery path
|
||||
#### Using the recovery path
|
||||
|
||||
You may sweep the coins whose timelocked recovery path is available. You will need to sign the
|
||||
transaction using the recovery key, hence make sure to connect the appropriate signing device.
|
||||
transaction using the recovery key(s), hence make sure to connect the appropriate signing device(s).
|
||||
|
||||
In the GUI, this option is available in the "Settings" menu at the "Recovery" section. Click on the
|
||||
"Recover funds" button, enter the destination for the sweep and the feerate you want to use for the
|
||||
@ -164,6 +152,16 @@ For the daemon, see the [`createrecovery`](doc/API.md#createrecovery) command. I
|
||||
sweep PSBT to the requested address with the specified feerate, filled with all available coins.
|
||||
|
||||
|
||||
### Reproducible builds
|
||||
|
||||
Releases of Liana are reproducibly built. Linux binaries are also bootstrappable. See
|
||||
[`contrib/reproducible`](contrib/reproducible) for details and instructions if you want to check a
|
||||
release.
|
||||
|
||||
Note you necessarily won't be able to reproduce codesigned binaries. We may provide detached
|
||||
signatures in the future.
|
||||
|
||||
|
||||
## About the software project
|
||||
|
||||
Liana is an open source project. It is [hosted at Github](https://github.com/wizardsardine/liana).
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Building Liana
|
||||
|
||||
We use [Cargo](https://doc.rust-lang.org/stable/cargo/), the ubiquitous Rust package manager.
|
||||
Cargo takes care of downloading and compiling the projects dependencies, as well as compiling the
|
||||
Cargo takes care of downloading and compiling the project's dependencies, as well as compiling the
|
||||
project itself. Dependencies are specified in a [`Cargo.toml`](../Cargo.toml) file at the root of
|
||||
this repository. They are pinned in a [`Cargo.lock`](../Cargo.lock) file at the same place.
|
||||
|
||||
|
||||
11
doc/TRY.md
11
doc/TRY.md
@ -131,19 +131,16 @@ name it Alice but choose whatever. Set any timelock you want but preferably some
|
||||
you want to try the timelocked recovery feature! I'll go for "2" as the timelock. Click on "Set" for
|
||||
the recovery key, and choose "This computer" again.
|
||||
|
||||
Of course, it wouldn't make sense for a real to use the same signing device to derive both the
|
||||
primary and recovery keys. Or even to use hot keys at all with a non-trivial amount of coins. We
|
||||
Of course, it wouldn't make sense for a real wallet to use the same signing device to derive both
|
||||
the primary and recovery keys. Or even to use hot keys at all with a non-trivial amount of coins. We
|
||||
only do this for convenience in testing Liana on Signet. If you'd like to try out signing with a
|
||||
hardware wallet you can use the "testnet" mode of a Specter, the "Bitcoin testnet" app of a Ledger,
|
||||
or the simulator of any of them (see the links at the top of this document).
|
||||
|
||||
Click on next. If you want to try restoring from wallet backup later on, make sure to backup the
|
||||
mnemonic as well as the descriptor in the next two screens. Otherwise just make them happy by
|
||||
ticking the boxes.
|
||||
|
||||
On the "Register descriptor" step you can (confusingly, i know) click on "i have registered the
|
||||
descriptor on my device(s)". If you are using a simulator make sure to register the descriptor
|
||||
though!
|
||||
ticking the boxes. If you are using a signing device simulator you'll have a step for registering
|
||||
the descriptor on it.
|
||||
|
||||
Finally, configure the connection to `bitcoind`. The default should work for what we did in this
|
||||
guide. Click on continue and finalize the installation.
|
||||
|
||||
@ -13,5 +13,5 @@ repository](https://github.com/wizardsardine/async-hwi).
|
||||
|
||||
## Ledger
|
||||
|
||||
Minimum supported version of the Bitcoin application is 2.1.0 (the first version to have full
|
||||
Minimum supported version of the Bitcoin application is 2.1.0 (the first version to have full
|
||||
Miniscript descriptors support).
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user