eMark (DEM) POS-Mining auf dem Raspberry Pi
Dieser Beitrag wurde 10107 mal angezeigt.
Hy Leute!
ich wurde die Tage angeschrieben, ob es nicht möglich ist, auf dem Raspberry Pi, die POS Mining Funktion aus der eMark Wallet zu nutzen.
POS = Proof of Stake was frei übersetzt so was wie „Zinsen“ für deine Coins sind 😉
Kurz gesagt, JA es ist möglich. Man benötigt nur etwas Zeit.
Ja, und eigentlich auch etwas wissen, das man sicher aber auch, ebenfalls mit Zeit, zusammen suchen kann.
Ein Dankeschön an User „teppichtasche“ aus dem Bitcointalk Forum.
Am besten für das Staking ist ein Raspberry Pi 2 oder ein Banana Pi geeignet. Diese haben mehr Power 😉
Dieser User hat eine kleine FAQ geschrieben, wie man eine GUI Wallet auf dem Pi compiliert und damit das Staking startet.
Ich möchte euch heute eine Möglichkeit zeigen, wie ihr dies ebenfalls machen könnt, nur ohne GUI.
Also als reine Shell Anwendung. Wer dennoch gerne die GUI Wallet haben möchte, findet die Anleitung hier.
Step 1
Als erstes benötigt ihr natürlich ein Pi mit Rasbian.
Ich habe im vorherigen Tutorium geschrieben wie man ein Pi aufsetzt.
Folgt der Anleitung bis Step 6.
Step 2
Wechselt in das Home Verzeichnis und ladet die neuste Walletversion der eMark runter:
cd /home/pi git clone https://github.com/emarkproject/DEM cd DEM/src/
Step 3
Nun benötigen wir einiges an Treibern, damit wir die Wallet auch kompilieren können.
Ich habe mir nun einiges während des Tests zusammen gesucht.
Daher ist die Liste etwas lang, garantiert aber auch, dass das compilieren klappt:
sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install -y git gcc gcc-c++ boost boost-devel openssl openssl-devel libdbi-devel dbus-cxx-devel libodb-boost-devel qrencode-devel sudo apt-get install -y libdb++-dev build-essential libtool autotools-dev autoconf libssl-dev libboost-all-dev python-software-properties curl vim debconf-utils sudo apt-get install -y pkg-config automake libdb5.1-dev libdb5.1++-dev libminiupnpc-dev python-zope.interface python-dev python-twisted python-twisted-web sudo apt-get install -y python-argparse libdb4.8-dev libdb4.8++-dev libboost1.37-dev libqrencode-dev qt4-qmake libqt4-dev libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev
Dies kann ein bisschen dauern.
Step 4
Wenn wir nun versuchen würden, die Wallet zu kompilieren, würden wir einen Fehler bekommen.
Das liegt daran, das der Pi nicht genügend Arbeitsspeicher hat. Daher müssen wir den „SWAP“ erhöhen.
Das ist der Bereich, der dann auf die SD Karte geschrieben wird, anstatt in den Arbeitsspeicher.
free dd if=/dev/zero of=/var/swap.img bs=1024k count=1000 mkswap /var/swap.img swapon /var/swap.img free
Nun haben wir alles um die Wallet zu kompilieren.
Step 5
Um die Wallet zu erstellen müssen wir eine Datei abändern. Öffnet dazu die Datei „makefile.unix“.
Sucht nach dem Wert „msse2“ und entfernt diesen.
sudo nano makefile.unix
Vorher:
# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. xCXXFLAGS=-O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
Nachher:
# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
Speichert die Datei beim schließen. (Strg-X)
Step 6
Um das kompilieren zu starten:
make -f makefile.unix
Dieser Vorgang kann nun einige Zeit dauern. Wenn nicht sogar einige Stunden.
Wenn dies abgeschlossen ist, befindet sich nun eine ca. 20MB große Datei im Ordner.
Diese komprimieren wir, so das diese nur noch 2,23MB hat.
strip eMarkd
Step 7
So die Wallet ist fertig und einsatzbereit.
Kopiert die Wallet nun ins Verzeichnis /home/pi/DEM/ und entfernt den Rest.
mv eMarkd /home/pi/eMarkd cd /home/pi/ rm -Rf DEM
Startet nun einmal die Wallet, so das die Grunddateien erstellt werden.
cd /home/pi/ ./eMarkd
Als Output bekommt ihr ein User mit einem Random Passwort. Das ihr nun braucht.
Nun habt ihr unter „/home/pi/.eMark“ eine neue Datenbank sowie eine Grundwallet. Diese wartet nun auf eine eMark.conf damit diese startet.
sudo nano /home/pi/.eMark/eMark.conf
Fügt den Inhalt ein und speichert diese:
rpcuser=eMarkrpc rpcpassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx datadir=/home/pi/.eMark/ rpcallowip=127.0.0.1 staking=1 server=1 daemon=1 maxconnections=5 gpu_mem=32
Ab jetzt ist eure Wallet startklar! Aber…
Damit ihr aber Staken könnt, habt ihr bestimmt schon eine Wallet auf euren Windowsrechner.
Kopiert diese, nun komplett über die des Pis. Damit könnt ihr euch das komplette neuladen der Blockchain vermeiden.
Klickt dazu auf Start und geht auf Ausführen. Gebt dort „%appdata%“ ein.
%appdata%
Dort findet ihr den Ordner „eMark“. Öffnet diesen und kopiert die folgenden Dateien auf den Pi in den entsprechenden Ordner:
database blk0001.dat blkindex.dat peers.dat wallet.dat
Wenn ihr wollt, könnt ihr euch die alte wallet.dat vorher absichern. Sicher ist Sicher.
Sobald ihr die Daten kopiert habt, könnt ihr die Wallet starten.
screen -d -m -S eMarkd /home/pi/eMarkd
Der erste Start kann etwas dauern, da die Blockchain verifiziert wird. Also keine Sorge.
Wenn ihr das ganze beobachten wollt, öffnet eine zweite Shell und gebt folgendes ein:
tail -f /home/pi/.eMark/debug.log
Zum verlassen: Strg+C
Wallet freischalten für Staking
Nachdem die Wallet nun läuft, und auf dem neusten Stand ist, müssen wir die Wallet für das Staking entsperren.
Wenn ihr die Wallet auf eurem Windowsrechner gesperrt habt, muss diese zum Staking entsperrt werden.
Dazu gehen wir in das Verzeichnis, wo wir die eMarkd hingelegt haben und entsperren diese mit unseren Zuvor gesetzten Passwort.
./eMarkd walletpassphrase %passwort% 9999999 true
Ab jetzt ist die Wallet für das Staking entschlüsselt. Zu sehen unter:
"unlocked_until" : 1439137393,
mit dem Befehl:
./eMarkd getinfo
Viel Spass beim Staking
Ich hoffe ich konnte euch damit weiter helfen. Für die Unterstützung der Seite, würde ich freuen wenn ihr mir als Dank eine kleine Spende zukommen lasst 😉 Ob als Mining oder direkt
Empfohlener Pool: Miner-Control.de
BTC: 122aH1XgqetWJyfrdNcxd3kJY7DNaSrvMK
eMark: NdB7DpsLhYMEP8WqPpQ2YMedkS3nRQTJfQ
Hallo Sven,
danke für die Anleitung, habe mir aber noch zusätzlich die GUI installiert, zusätzlich unterstützt man auch noch das Netzwerk damit (Full-Node).
mfg
Klasse Anleitung, leider ist aber der vergrößerte und auf die SD-Karte ausgelagerte SWAP ein Killer für die SD Karte. Die Schreibzugriffe werden die Karte binnen Wochen/Monaten ruinieren und alle Daten verloren gehen.
Um das Problem zu umgehen, sollte das Image regelmäßig gesichert werden (so kann man mit einer neuen Karte gleich weiter machen) oder ein Board mit einer SATA HDD Anschlussmöglichkeit genutzt werden (SWAP auf die HDD auslagern 😉 ).
Grüße
not working, see the error:
make -f makefile.unix
g++ -c -O2 -pthread -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -I/home/pi/DEM/src -I/home/pi/DEM/src/obj -DUSE_UPNP=0 -DENABLE_WALLET -I/home/pi/DEM/src/leveldb/include -I/home/pi/DEM/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2 -MMD -MF obj/alert.d -o obj/alert.o alert.cpp
In file included from alert.h:9:0,
from alert.cpp:5:
serialize.h:19:48: fatal error: boost/type_traits/is_fundamental.hpp: Aucun fichier ou dossier de ce type
#include
^
compilation terminated.
makefile.unix:172 : la recette pour la cible « obj/alert.o » a échouée
make: *** [obj/alert.o] Erreur 1
Hy,
plese see the new tutorial to that : https://sven-goessling.de/01/07/2018/wallets-auf-dem-raspberry-pi-3-kompilieren/