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/+coldbreeze438