# Wasabi Setup on Tails

This essay is extracted from this step-by-step guide, which also includes tutorials on how to install Tails, create persistent storage and use Bitcoin Core alongside with it.

TIP

Starting with v1.1.11 release, Wasabi comes pre-installed with bitcoind from Bitcoin Knots and it can be started on the same desktop or laptop computer with just one click. This is likely the most convenient solution for Wasabikas.

Remember that you will need at least a 300GB USB or SD card to download the entire blockchain.


# Create admin password

You need sudo privileges to install Wasabi, at “Tails Greeter” create your admin password in “additional settings” and launch Tails.

TIP

If you don't want to activate root privileges, you can always download Wasabi in .tar.gz format and extract the folder.

This way, you can launch Wasabi from the terminal via ./wassabee command, and not installing any .deb package.

# Download

Download Wasabi for Debian/Ubuntu from the Tor hidden service or clearnet.

Verify the PGP signature of the downloaded package, the zkSNACKs' PGP public key fingerprint is:

6FB3 872B 5D42 292F 5992 0797 8563 4832 8949 861E

gpg -v Wasabi-1.1.11.1.deb (For more details check this guide)

You can now save your Wasabi-1.1.11.1.deb into the persistent storage, which should look like this:

/Persistent
|__ /bitcoin-0.18.1       # Bitcoin Core launcher folder
|__ /Bitcoin              # Bitcoin Core data folder
|__ /Wasabi-1.1.11.1.deb  # Wasabi installer

# Wasabi data folder

As of version 1.1.11.1 Wasabi doesn’t offer easy ways, especially without command line, to change install directory. There is though a quick workaround.

Wasabi saves session files in /Home/.walletwasabi/client, you need to mark the “show hidden files” setting to see it.

Create a directory in your persistent with the same hierarchical structure, like this:

/Persistent
|__ /bitcoin-0.18.1       # Bitcoin Core launcher folder
|__ /Bitcoin              # Bitcoin Core data folder
|__ /Wasabi-1.1.11.1.deb  # Wasabi installer
|__ /.walletwasabi
    |__ /client           # Here we save our wallet files, filters and blocks

After every session, when you’re done, navigate into /Home/.walletwasabi/client and copy the desired folders into your persistent directory.

Generally, you’d like to save the Wallets (keys, labels), Blocks (which are interesting to the wallet) and BitcoinStore (block filters) folders.

# Install Wasabi

Copy and paste the Wasabi-1.1.11.1.deb file from /home/amnesia/Persistent into desktop.

Open the terminal and run:

cd Desktop
sudo dpkg -i Wasabi-1.1.11.1.deb

Type the password you created at “Tails Greeter”.

(Info about dpkg)

Wasabi will show as a normal application in your activities overview menu, ready to start.

# Load from your data directory

After the first time, you save a Wasabi session, your persistent storage will look like:

/Persistent
|__ /bitcoin-0.18.1        # Bitcoin Core launcher folder
|__ /Bitcoin               # Bitcoin Core data folder
|__ /Wasabi-1.1.11.1.deb   # Wasabi installer
|__ /.walletwasabi
    |__ /client            # Here we save our wallet files, blocks and filters
        |__ /Wallets
        |__ /Blocks
        |__ /BitcoinStore
        |__ /Legal

To load your saved session, copy and paste the .walletwasabi folder into /Home before starting Wasabi.

You can save multiple copies of .walletwasabi in your persistent, each with different data:

/Persistent
|__ /bitcoin-0.18.1            	   # Bitcoin Core launcher folder
|__ /Bitcoin                       # Bitcoin Core data folder
|__ /Wasabi                        # General Wasabi folder
    |__ /Wasabi-1.1.11.1.deb       # Wasabi installer
    |__ /BitcoinStore              # Filters (No need to keep multiple copies of them)
    |__ /Wallets A,B,C
    |   |__ /.walletwasabi
    |       |__ /client            # Here we save our wallet files and blocks
    |           |__ /Wallets
    |           |__ /Blocks
    |__ /Wallets D,E,F
    |   |__ /.walletwasabi
    |       |__ /client
    |           |__ /Wallets
    |           |__ /Blocks
    |__ /Wallets G,H,I
        |__ /.walletwasabi
            |__ /client
                |__ /Wallets
                |__ /Blocks

This is only a minor example, tune it to your own needs.

WARNING

Remember to back up either your files or your persistent storage!

# Script to automatically install Wasabi on Tails

Alternatively, you can use this script made by permabull, which, after downloading Wasabi by following step 2, automatically installs Wasabi from the persistent folder and moves the wallet you want to open (or all of them) by user input:

#!/bin/bash

sudo dpkg -i Wasabi-1.1.11.1.deb

wassabee </dev/null &>/dev/null &

sleep 5s

pkill wassabee

echo "*********************"

ls -1 -d */

echo "*********************"

while true
do	
    read -p "Enter wallet to open: " wallet_name
    FOLDER="$wallet_name"

    if [ -d "$FOLDER" ]
    then
        echo "$FOLDER wallet found."
	cd "$FOLDER"/.walletwasabi/
	cp -r client/* ~/.walletwasabi/client
	echo "Your files have been moved to wasabi folder"
	break
    else
	echo ""$FOLDER" wallet doesn't exist"
	continue
fi
done

wassabee </dev/null &>/dev/null &

# Hardware Wallet tutorial (udev rules)

On Linux, you need to create a set of udev rules to allow hardware wallet access.

Since Wasabi keeps the configuration files on $HOME it's necessary to change persistence in order to keep them.

So, configure persistence, download Wasabi and unpack it inside Persistent folder then reboot tails with root support and launch the following commands from the Terminal:

sudo -i
echo -e "/home/amnesia/.walletwasabi\tsource=walletwasabi" >> /live/persistence/TailsData_unlocked/persistence.conf
mkdir -p /live/persistence/TailsData_unlocked/walletwasabi
chown amnesia:amnesia /live/persistence/TailsData_unlocked/walletwasabi

# ColdCard Wallet

If you want to use a ColdCard device, you need to configure the udev rules:

mkdir -p /live/persistence/TailsData_unlocked/udev.rules.d
wget -P /live/persistence/TailsData_unlocked/udev.rules.d https://raw.githubusercontent.com/Coldcard/ckcc-protocol/master/51-coinkite.rules
echo -e "/etc/udev/rules.d\tsource=udev.rules.d,link" >> /live/persistence/TailsData_unlocked/persistence.conf

# Ledger devices

If you want to use a Ledger device, you need to configure the udev rules:

mkdir -p /live/persistence/TailsData_unlocked/udev.rules.d
wget -P /live/persistence/TailsData_unlocked/udev.rules.d https://raw.githubusercontent.com/LedgerHQ/udev-rules/master/20-hw1.rules
echo -e "/etc/udev/rules.d\tsource=udev.rules.d,link" >> /live/persistence/TailsData_unlocked/persistence.conf

# Trezor devices

If you want to use a Trezor device, you need to configure the udev rules:

mkdir -p /live/persistence/TailsData_unlocked/udev.rules.d
wget -P /live/persistence/TailsData_unlocked/udev.rules.d https://raw.githubusercontent.com/trezor/trezor-common/master/udev/51-trezor.rules
echo -e "/etc/udev/rules.d\tsource=udev.rules.d,link" >> /live/persistence/TailsData_unlocked/persistence.conf

TIP

Since v4.3, Tails is shipped with the trezor package, which provides a command line tool to use a Trezor hardware wallet.

# Keepkey devices

If you want to use a KeepKey device, you need to configure the udev rules:

mkdir -p /live/persistence/TailsData_unlocked/udev.rules.d
wget -P /live/persistence/TailsData_unlocked/udev.rules.d https://raw.githubusercontent.com/keepkey/udev-rules/master/51-usb-keepkey.rules
echo -e "/etc/udev/rules.d\tsource=udev.rules.d,link" >> /live/persistence/TailsData_unlocked/persistence.conf

Now just reboot and enjoy!