Installation Dojo Vanilla auf Linux X86

8 Min. Lesedauer
Installation Dojo Vanilla auf Linux X86

Info

In diesem Howto gehe ich alle Schritte f├╝r die Installation von Samourai Dojo Vanilla durch. Diese Installation setzt voraus, dass Bitcoin Core und ein Indexer bereits installiert ist. Ich gehe allerdings auch auf die Punkte ein, wo man diese beiden Komponenten ├╝ber Dojo Vanilla mitinstallieren kann.

Vorbereitung

Bevor wir mit der Dojo Vanilla Installation loslegen k├Ânnen, m├╝ssen wir Docker und Docker-Compose auf unserem System installieren, falls noch nicht vorhanden.

sudo apt-get update 
sudo apt-get install ca-certificates unzip curl gnupg lsb-release

Hinzuf├╝gen des GPG-Keys

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Hinzuf├╝gen des Repositories

sudo echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Check ob es geklappt hat

docker --version

Als Ausgabe m├╝sste so etwas kommen:

Docker version 20.10.21, build baeda1f

Hinzuf├╝gen des Benutzers in die Docker-Gruppe

sudo usermod -aG docker $USER

Wir melden uns ab und neu an, damit die Rechte wirksam sind.

Installation Docker-Compose

Als weitere Komponente m├╝ssen wir Docker-Compose installieren.

curl -SL https://github.com/docker/compose/releases/download/v2.13.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Rechte setzen f├╝r docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Check ob alles geklappt hat

docker-compose version

Es m├╝sste so etwas kommen:

Docker Compose version v2.13.0

Download Dojo Vanilla

Wir wechseln in unser Download Verzeichnis

cd ~/Downloads

Und laden die aktuelle Dojo-Version herunter, die wir auf dem Samourai Repository finden https://code.samourai.io/dojo/samourai-dojo/-/releases

wget https://code.samourai.io/dojo/samourai-dojo/-/archive/v1.18.1/samourai-dojo-v1.18.1.zip

Als n├Ąchstes entpacken wir die Datei

unzip samourai-dojo-v1.18.1.zip -d .

Jetzt benennen wir den entpackten Order auf Dojo um und verschieben ihn gleichzeitig in unser Benutzerverzeichnis

mv samourai-dojo-v1.18.1 ~/Dojo

Anpassen der Konfigurationen

Jetzt geht es an das anpassen der Konfigurationen, dazu wechseln wir uns unser Dojo-Verzeichnis und dann gleich in das Docker-Verzeichnis

cd ~/Dojo/docker/my-dojo

Hier finden wir ein Verzeichnis conf, in das wir wechseln

cd conf

In diesem Verzeichnis befinden sich alle Konfigurationen, die wir f├╝r Dojo Vanilla brauchen.

Wir starten mit der ersten Datei

docker-bitcoind.conf.tpl

nano docker-bitcoind.conf.tpl

Anpassen des RPC_Users und Passworts

BITCOIND_RPC_USER=dojorpc

andern in:

BITCOIND_RPC_USER=nakamoto

Passwort anpassen

BITCOIND_RPC_PASSWORD=dojorpcpassword

andern in:

BITCOIND_RPC_PASSWORD=satoshi

Wir scrollen weiter nach unten bis zum Punkt BITCOIND_INSTALL. Hier stellen wir auf off, falls wir schon einen BitcoinD installiert haben.

BITCOIND_INSTALL=on

andern in:

BITCOIND_INSTALL=off

Anpassen der BitcoinD IP-Adresse

BITCOIND_IP=172.28.1.5

andern in die IP wo BitcoinD installiert ist

BITCOIND_IP=192.168.100.242

Port anpassen

BITCOIND_PORT=28256

andern in die IP wo BitcoinD installiert ist

BITCOIND_PORT=8332

Anpassen der ZMQ Parameter, die wir in unserer bitcoin.conf finden.

BITCOIND_ZMQ_RAWTXS=9501

├Ąndern in

BITCOIND_ZMQ_RAWTXS=28333

ZMQ BLK HASH

BITCOIND_ZMQ_BLK_HASH=9502

├Ąndern in

BITCOIND_ZMQ_BLK_HASH=28334

Jetzt speichern wir die Konfiguration ab. STRG +x, y und Enter.

docker-common.conf.tpl

Hier checken wir, welches Netz wir nutzen m├Âchten. F├╝r Mainnet passt alles, falls wir Testnet wollen, dann setzen wir von mainnet auf testnet.

docker-explorer.conf.tpl

Hier k├Ânnen wir alle Parameter lassen, au├čer wir m├Âchten nur Mempool Space nutzen, dann k├Ânnen wir Explorer auf off stellen.

docker-indexer.conf.tpl

Hier checken wir, ob INDEXER_INSTALL auf off gestellt ist, falls wir schon einen Indexer wie Electrum oder Fulcrum installiert haben. Falls nicht, k├Ânnen wir diesen hier auf on stellen.

Falls wir Electrum oder Fulcrum nutzen m├Âchten, m├╝ssen wir folgenden Parameter ├Ąndern

INDEXER_TYPE=addrindexrs

├Ąndern in

INDEXER_TYPE=fulcrum

Ändern der IP-Adresse des Indexers auf die IP, wo der Indexer installiert ist.

INDEXER_IP=172.28.1.6

├Ąndern in

INDEXER_IP=192.168.100.242

Indexer Port auf SSL umstellen, falls wir den Indexer auf SSL gestellt haben

INDEXER_PORT=50001

├Ąndern in

INDEXER_PORT=50002

Falls wir einen Fulcrum Indexer nutzen, dann m├╝ssen wir diesen Parameter ├Ąndern

INDEXER_BATCH_SUPPORT=inactive

├Ąndern in

INDEXER_BATCH_SUPPORT=active

Falls wir TLS nutzen m├Âchten, dann passen wir diesen Parameter an:

INDEXER_PROTOCOL=tcp

├Ąndern in

INDEXER_PROTOCOL=tls

Jetzt speichern wir die Konfiguration ab. STRG +x, y und Enter.

docker-mysql.conf.tpl

In dieser Konfiguration sollten wir dringend die Passw├Ârter ├Ąndern.

MYSQL_ROOT_PASSWORD=rootpassword

├Ąndern in

MYSQL_ROOT_PASSWORD=asdfjlkafgbuiower

Und auch dieses Passwort muss dringend ge├Ąndert werden:

MYSQL_PASSWORD=rootpassword

├Ąndern in

MYSQL_PASSWORD=8986798hjdfserterst

Jetzt speichern wir die Konfiguration ab. STRG +x, y und Enter.

docker-node.conf.tpl

In dieser Datei setzen wir unter anderem das Passwort f├╝r unser Dojo Maintenance Tool

NODE_API_KEY=myApiKey

├Ąndern in

NODE_API_KEY=8986798hjdfserterst

Hier setzen wir das Passwort f├╝r das Dojo Maintenace Tool

NODE_ADMIN_KEY=myAdminKey

├Ąndern in

NODE_ADMIN_KEY=8986798hjdfserterst

Zum Schluss m├╝ssen wir noch unseren lokalen Indexer setzen

NODE_ACTIVE_INDEXER=local_bitcoind

├Ąndern in

NODE_ACTIVE_INDEXER=local_indexer

Jetzt speichern wir die Konfiguration ab. STRG +x, y und Enter.

docker-tor.conf.tpl

Hier k├Ânnen wir alles so lassen wir es ist.

docker-whirlpool.conf.tpl

Wenn wir Whirlpool innerhalb von Docker laufen lassen m├Âchten, dann setzen wir folgenden Parameter

WHIRLPOOL_INSTALL=off

├Ąndern in

WHIRLPOOL_INSTALL=on

Abspeichern mit STRG +x, y und Enter.

Alternativ k├Ânnen wir Whirlpool h├Ąndisch installieren, so steht uns die Option zur Verf├╝gung, direkt auf einen externen XPUB nach X Runden zu mixen. Weiter unten sind die Schritte zu finden.

Dojo Vanilla installieren

Um Dojo mit unserer Konfiguration zu installieren, geben wir ein:

./dojo.sh install

Wir best├Ątigen mit y.

Sobald am Bildschirm "INFO  Tracker : Processing active Mempool" auftaucht, ist die Installation abgeschlossen. Wir müssen allerdings warten, bis alles fertig gesynct hat, was eine Zeit lang dauert. Sobald fertig, geht es weiter.

Whirlpool - alternative Installation

Wenn wir Whirlpool h├Ąndisch installieren m├Âchten, suchen wir die Seite https://code.samourai.io/whirlpool/whirlpool-client-cli/-/releases auf, wo wir die aktuellste Whirlpool-CLI-Version finden.

Der Vorteil von einer eigenen Installation w├Ąre unter anderem die M├Âglichkeit, direkt auf einen XPUB/ZPUB zu mixen.

Bevor wir mit der Einrichtung starten k├Ânnen, m├╝ssen wir Java installieren. Auf Ubuntu geben wir dazu einfach java im Terminal ein, damit wir die m├Âglichen Optionen sehen.

Check ob Java installiert ist

java

Falls nicht, dann installieren wir Java

sudo apt install openjdk-18-jre-headless

Nach der Installation erstellen wir ein Verzeichnis Whirlpool in unserem Benutzerverzeichnis

mkdir ~/Whirlpool

Wir wechseln in das Verzeichnis

cd ~/Whirlpool

Jetzt laden wir die aktuelle jar-Datei vom Samourai Whirlpool CLI Repo herunter, die wir unter Download: finden. Repo

wget https://code.samourai.io/whirlpool/whirlpool-client-cli/uploads/63621e145967f536a562851853bd0990/whirlpool-client-cli-0.10.16-run.jar

Einrichtung des Service-Files

sudo nano /etc/systemd/system/whirlpool.service

Einf├╝gen:

[Unit]
Description=Whirlpool
After=tor.service

[Service]
WorkingDirectory=/home/nakamoto/Whirlpool
ExecStart=/usr/bin/java -jar whirlpool-client-cli-0.10.16-run.jar --server=mainnet --tor --auto-mix --mixs-target=0 --listen
User=nakamoto
Group=nakamoto
Type=simple
KillMode=process
TimeoutSec=60
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

Abspeichern mit STRG +x, y und Enter.

sudo systemctl enable whirlpool

Wir starten das Service noch nicht!

Falls es Whirlpool CLI-Updates gibt, m├╝ssen wir im Service-File die Zeile mit ExecStart anpassen!

Installation von Whirlpool GUI

Auf der Samourai Webseite k├Ânnen wir unter Download immer die aktuelle Version von Whirlpool GUI herunterladen. Diese installieren wir.

Fertig

Alle Installationsschritte von Dojo Vanilla sind damit vollst├Ąndig abgeschlossen. Wer alle Befehle von dojo.sh wissen m├Âchte, findet diese auf dem Repo von Samourai.

Upgrade

Zuerst m├╝ssen wir die aktuelle Dojo Version herunterladen und entpacken.

Wir wechseln in das tmp Verzeichnis

cd /tmp

Jetzt laden wir die aktuellste Dojo Version herunter

wget https://code.samourai.io/dojo/samourai-dojo/-/archive/v1.20.0/samourai-dojo-v1.20.0.tar

Entpacken der Version

tar -xfv samourai-dojo-v1.20.0.tar

Kopieren der neuen Dateien

d cp -r /samourai-dojo-v1.20.0/* ~/Dojo

Jetzt wechseln wir in unser Dojo-Verzeichnis

cd ~/Dojo/docker/my-dojo

Dojo stoppen

./dojo.sh stop

Dojo Upgrade starten

./dojo.sh upgrade

Anbindung Samourai Wallet mit Dojo und Whirlpool

Dojo Maintenance Tool starten

Das Dojo maintenance Tool ist ├╝ber eine Tor Onion-Adresse verf├╝gbar. Diese bekommen wir mit:

./dojo.sh onion

Wir starten den Tor-Browser und geben die Onion-Adresse ein. Bei der Passwortabfrage m├╝ssen wir das Passwort eingeben, dass die im docker-node-tpl.conf gesetzt haben.

Installation Samourai Wallet und Anbindung an Dojo

Von der Webseite https://samouraiwallet.com laden wir die Samourai Wallet herunter. Zu finden ist dieser unter "Download". Dort finden sich mehrere M├Âglichkeiten. Entweder ein direkter Download der APK-Datei, ├╝ber F-Droid oder auch Google Play.

Wir starten die Wallet und w├Ąhlen MAINNET oder TESTNET aus, je nach unserer Dojo-Installation. Dann klicken wir auf "Get Started". Jetzt w├Ąhlen wir das Verzeichnis aus, wo die Wallet-Backups gespeichert werden sollen. Danach w├Ąhlen wir aus, ob wir Tor aktivieren m├Âchten. Tor brauchen wir f├╝r die Verbindung f├╝r Dojo. Dann klicken wir auf Dojo und scannen den QR-Code ein, den wir im Dojo Maintenance Tool unter Tools - Pairing finden. Wenn alles passt, sollte dann unter Dojo status "Connected" stehen.

Jetzt m├╝ssen wir eine Passphrase einstellen, diese muss SICHER sein! Wir notieren uns die 12 W├Ârter, die wir bei einer Wiederherstellung zusammen mit der Passphrase brauchen. Wer ein Recovery-Sheet m├Âchte findet dieses hier.

Die Wallet ist jetzt fertig installiert und eingerichtet.

Anbindung Samourai Wallet mit Whirlpool CLI

java -jar whirlpool-client-cli-0.10.16-run.jar --init

INPUT REQUIRED f├╝r Pairing Payload - hier m├╝ssen wir unseren Pairing Payload eingeben, den wir in unserer Samourai Wallet unter Settings -> Transactions -> Experimental finden. Diesen kopieren wir und f├╝gen wir in der Abfrage ein.

INPUT REQUIRED f├╝r Passphrase - hier geben wir unsere Passphrase der Wallet ein.

Damit ist alles abgeschlossen und wir k├Ânnen ab jetzt Whirlpool ├╝ber unser Whirlpool Service starten.

sudo systemctl start whirlpool

Check ob alles l├Ąuft

sudo systemctl status whirlpool

Option - Mit to XPUB

Falls wir auf einen externen XPUB mixen wollen, m├╝ssen wir dies einmal bei Whirlpool bekannt geben. Dies machen wir mit dem Parameter --set-external-xpub

java -jar whirlpool-client-cli-0.10.16-run.jar --set-external-xpub

In der Abfrage "External BIP84 XPub/ZPub" geben wir den XPUB ein.

In der n├Ąchsten Abfrage "Chain?(0)" (Standard f├╝r m/84'/0') geben wir 0 ein.

In der n├Ąchsten Abfrage "Mixs?(>0)>" geben wir die Anzahl der Mixrunden ein, bevor die gemixten UTXOs zum Cold Storage geschickt werden.

INPUT REQUIRED Continue y/n - hier checken wir 3 Adressen die aus dem ZPUB berechnet wurden und dir wir mit der Wallet von unserem Cold Storage ├╝berpr├╝fen sollten. Wenn diese passen best├Ątigen wir mit y.

Mit diesen Schritten ist jetzt alles in die whirlpool.cli.properties eingetragen und wir k├Ânnen Whirlpool normal ├╝ber unser Whirlpool Service starten und stoppen.

Anbindung Whirlpool GUI an Whirlpool CLI

F├╝r die Verbindung von Whirlpool GUI mit Whirlpool CLI brauchen wir die IP-Adresse von Whirlpool CLI und einen apiKey.

Wir starten Whirlpool GUI und klicken auf Advanced: remote CLI. Im Feld geben wir die IP-Adresse von dem Server an, wo wir Dojo installiert haben, das Port 8899 bleibt.

Beispiel:

https://192.168.100.242:8899

In unserem Whirlpool-Verzeichnis finden wir eine Datei namens whirlpool-cli-config.properties. In dieser Datei finden wir cli-apiKey, den wir in das Feld "API Key" eingeben.

cat ~/Whirlpool/whirlpool-cli-config.properties

Dann klicken wir auf Connect.

Zuletzt werden wir nach der Passphrase gefragt, nach der Eingabe ist alles verbunden.

├ťber das Whirlpool GUI sind auch Empfangsadressen generierbar unter Deposit, womit man nicht die Samourai Wallet ├Âffnen muss. W├Ąhrend dem Mix muss Whirlpool GUI nicht laufen. Unter Configuration kann ein SCODE eingeben werden, der und zu erh├Ąltlich ist und mit dem man einen Rabatt auf die Fees erh├Ąlt.

Muss alles resetet werden, kann dies unter System - Reset GUI durchgef├╝hrt werden.

Alle Infos dazu sind auf der Samourai Webseite zu finden.

Spende:


[email protected]
https://paynym.is/+orangedmike