diff --git a/doc/TRY.md b/doc/TRY.md index 6caf10e6..03c4b214 100644 --- a/doc/TRY.md +++ b/doc/TRY.md @@ -4,9 +4,11 @@ This document is a short set of instructions for trying out Liana on Bitcoin signet. It does not attempt to give any nuance, details or describe alternative configurations. -This guide uses an emulator of the Specter hardware signer. (If it is not available on your -platform, checkout the [Ledger "Speculos" emulator](https://github.com/LedgerHQ/speculos). -Documentation [here](https://speculos.ledger.com/).) + +This guide will make use Liana as a "hot wallet". If you'd like to try out Liana using dummy +hardware signing device you can use the [Specter +simulator](https://github.com/cryptoadvance/specter-diy/blob/master/docs/simulator.md) or the +[Ledger "Speculos" emulator](https://github.com/LedgerHQ/speculos). This guide mostly assumes you are running a 64-bit Linux. @@ -21,8 +23,8 @@ Here is a list of the system dependencies: the tools and libraries you need to h your system to follow the guide. TL;DR: -- Debian/Ubuntu: `apt install git libsdl2-dev curl gpg libfontconfig1-dev libudev-dev gcc make` -- Arch Linux: check if you have all the required packages: `pacman -Q coreutils tar git sdl2 curl gnupg fontconfig systemd-libs`. +- Debian/Ubuntu: `apt install curl gpg libfontconfig1-dev libudev-dev` +- Arch Linux: check if you have all the required packages: `pacman -Q coreutils tar curl gnupg fontconfig systemd-libs`. If any is listed as "was not found", get it with `pacman -Sy [missing package name]` - Other distribution: see the link to projects below to search for the name of your distribution's packages. @@ -30,11 +32,6 @@ We'll use basic tools which should already be present on your system, such as: - `shasum` - `tar` -To run the Specter signing device simulator you will need: -- `gcc` and `make` (On Debian/Ubuntu `apt install gcc make`) -- `git` (On Debian/Ubuntu `apt install gpg`) -- [SDL2](https://wiki.libsdl.org/SDL2/FrontPage) (On Debian/Ubuntu `apt install libsdl2-dev`) - To download and verify binaries you will also need: - `curl` (On Debian/Ubuntu `apt install curl`) - `gpg` (On Debian/Ubuntu `apt install gpg`) @@ -105,77 +102,72 @@ handful of minutes). You can track the progress using the `getblockchaininfo` co You do not need to wait for full synchronisation before moving on to the next step. -## Step 2: setup a dummy signing device - -Liana does not support "hot keys" at the moment. It needs a connection to a signing device for -signing transactions. - -We will be using a [Specter](https://github.com/cryptoadvance/specter-diy) simulator. -In case the Specter DIY simulator is not usable on your machine (for instance it was reported to us -that >M1 Macs do not support it), you can use the [Ledger simulator -"Speculos"](https://github.com/LedgerHQ/speculos) [Documentation -here](https://speculos.ledger.com/). - -``` -git clone https://github.com/cryptoadvance/specter-diy -cd specter-diy -git checkout 6a6983e15e4d3c8c03937f8bee040de350ce722f -make simulate -``` - -This step might take a few minutes at the first launch of the Specter emulator. -A window will pop up. Choose a dummy pin code and generate a new key. Then go to settings, switch -network to signet. - -Keep the Specter simulator open and move on to the next step. - - -## Step 3: start Liana +## Step 2: start Liana 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.2.exe` if you are on Windows, `liana-0.2.dmg` if you are on MacOS and -`liana-0.2-x86_64-linux-gnu.tar.gz` if you are on Linux. +choose `liana-0.3.exe` if you are on Windows, `liana-0.3.dmg` if you are on MacOS and +`liana-0.3-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: `590B7292695AFFA5B672CBB2E13FC145CD3F4304`. This key is available elsewhere for cross-checking, such 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. +website](http://download.darosior.ninja/antoine_poinsot_0xE13FC145CD3F4304.txt). It is recommended +you verify your download against this key. -At startup, you will have the choice between using an existing wallet or setting up a new one. Since -you presumably never installed Liana, choose to set up a new one. +At startup, you will have the choice between starting Liana using an existing configuration or to +set up a new one. Choose to install Liana on a new Bitcoin network. -Choose network Signet. For the primary key we will use the one from the dummy signing device you just started. Do this by simply clicking on the "import" button next to the text input in the Liana installer. For the number of blocks before the recovery key becomes active, you -can choose anything valid. Preferably something small to test the case where coins are soon to -become accessible on the recovery branch. +The next screen allows you to either configure a new wallet, participate in the configuration of a +new wallet (if you are taking part in a multisig for instance), or to recover a wallet from backup. +Choose to create a new wallet. -For the recovery key you could use another simulator but in this guide i'll just use a key generated online at https://iancoleman.io/bip39/. Click the **GENERATE** at the top of the website, then make sure to select **Coin: BTC-Bitcoin Testnet** to generate a tpub. You can then copy the **Account Extended Public Key** and paste it in the recovery path of Liana. +Choose Bitcoin Signet as network. Now you will need to configure the primary key(s), the recovery +key(s), and the time delay before the recovery keys become available (in # of blocks). We'll use +only one key for both the primary and recovery paths. We'll derive both keys from a "hot signer", a +HD wallet whose seed is stored on the laptop. -Make the next step happy by ticking the "I backed up my descriptor" checkbox. +Click on "Set" for the primary key. Click on "This computer" and set an alias for this signer. I'll +name it Alice but choose whatever. Set any timelock you want but preferably something very small if +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. -Import the descriptor to your Specter by clicking on the `specter-simulator` tile. Accept it on the Specter emulator. +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 +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! Finally, configure the connection to `bitcoind`. The default should work for what we did in this -guide. Click sur continue and finalize the installation. +guide. Click on continue and finalize the installation. -## Step 4: have fun +## Step 3: have fun You can generate a receive address in the "Receive" menu. You can get signet coins from the signet faucet at https://signet.bc-2.jp/. +If you want to try the timelocked recovery path, receive some coins and wait for some blocks (2 for +my own configuration, but it depends on what you configured previously). Then you can click on +"recover funds" in "Settings" > "Recovery". + Keep in mind that signet coins have no value! ## Cleanup You need to remove: -- The Bitcoin Core archive and `bitcoind` binary -- The Specter directory -- The `bitcoind` data directory -- The Liana data directory +- The Bitcoin Core archive, binary and data directory +- The Liana binary and data directory Assuming you used the throwaway folder as advised in step 0 and did not use custom `bitcoind` or Liana data directories you can wipe everything using these commands: