Der einfachste Weg einen Witness Server einzurichten (Ubuntu 16.04)

in #witness-category6 years ago (edited)

 Witness Server Tutorial/Guide/Anleitung auf Deutsch/German

 Als ich vor kurzem meinen Witness Server eingerichtet habe, ist mir aufgefallen dass es nicht wirklich viele deutsche Beiträge zu diesem Thema gibt. Um das zu ändern habe ich mich entschlossen euch in diesem Artikel die Installation und Einrichtung der Software so einfach wie möglich zu machen.


Vorkenntnisse für Linux werden nicht benötigt, sind aber von Vorteil.   

Ihr solltet euch außerdem damit befassen wie ihr euren Server so sicher wie möglich bekommt. Die meisten Provider bieten auf ihren Webseiten einfache und kurze Anleitungen zu diesem Thema an.  

https://hosting.1und1.de/digitalguide/server/konfiguration/server-absichern-linux-und-co-richtig-konfigurieren/
 
 
 1. Schritt
 Docker Installieren und den Steem-in-a-Box Container von @someguy123 herunterladen:
 
sudo apt update
sudo apt install git curl wget
git clone https://github.com/Someguy123/steem-docker.git
cd steem-docker
./run.sh install_docker
./run.sh install


2. Schritt
Blöcke herunterladen und extrahieren:


Eine tolle Funktion von Steem-in-a-box. Mit diesem Befehl ladet ihr einen Teil der Blockchain in vornherein von einem Witness Node herunter. Das verkürzt die Einrichtungszeit des Servers deutlich. 

./run.sh dlblocks



3. Schritt

Keys generieren und Witness Server konfigurieren:


Als erstes solltet ihr die Wallet mit folgendem Befehl öffnen:


./run.sh remote_wallet

Nun generieren wir die Keys für unseren Server:

suggest_brain_key



(Das Bild ist von @someguy123)


Die Antwort des Servers sollte in etwa so aussehen:


 "wif_priv_key": "5xxxxxxxxxxxxxxxxxxx",
 "pub_key": "STMxxxxxxxxxxxxxxxxx"

Diese Keys müsst ihr euch gut aufheben. Speichert sie dort wo Ihr sie wiederfindet!


Jetzt schließt ihr die Wallet mit Strg-D.


Jetzt legen wir fest wie viel GB Arbeitsspeicher zur Verfügung gestellt werden soll. Ihr dürft nicht mehr Speicher angeben als ihr besitzt. Ich selber habe 64GB und stelle diese auch ohne Probleme zur Verfügung. Wenn das Betriebssystem Arbeitsspeicher benötigt, schaufelt es sich diesen frei.
Die 8G stehen für die Menge an Arbeitsspeicher. Diesen Wert müsst ihr verändern!


sudo ./run.sh shm_size 8G

Jetzt öffnen wir die Konfigurationsdatei mit nano (Texteditor)


nano data/witness_node_data_dir/config.ini

Sucht die Zeile:


p2p-endpoint = 0.0.0.0:2001


und ändert diese in:

# p2p-endpoint = 0.0.0.0:2001


Jetzt sucht ihr die Zeile in der angegeben wird wie groß die Dateigröße sein darf. Hier nemmt ihr den Wert den ihr schon vorher beim Arbeitspeicher festgelegt habt:


shared-file-size = 8G

In einer leeren Zeile gebt ihr folgendes ein:

witness = "Dein Name ohne  @"
private-key = 5xxxxxxxxxxxxx

Benutzt hier den Private Key den ihr euch vorhin gespeichert habt (wif_priv_key) .
Jetzt schließt und speichert ihr die Konfigurationsdatei mit Strg-X .

Jetzt erstellen wir noch eine weitere Konfigurationsdatei mit:


nano .env


Fügt folgendes in die leere Textdatei ein:

PORTS=
DOCKER_NAME=witness

Jetzt schließt und speichert ihr die Konfigurationsdatei mit Strg-X .

4. Schritt
Server starten


Startet den Server mit:


./run.sh replay


Die Logdatei könnt ihr mit folgendem Kommando ausgeben lassen:


./run.sh logs


Ihr solltet ungefähr so etwas hier zu sehen bekommen:


344773ms th_a       application.cpp:297           startup              ] Replaying blockchain on user request.
344774ms th_a       database.cpp:151              reindex              ] Reindexing Blockchain
344823ms th_a       block_log.cpp:130             open                 ] Log is nonempty
344823ms th_a       block_log.cpp:139             open                 ] Index is nonempty
344823ms th_a       database.cpp:159              reindex              ] Replaying blocks...
344834ms th_a       database.cpp:2571             show_free_memory     ] Free memory is now 11G
  0.77369%   100000 of 12925066   (12282M free)


Gönnt euch eine Mate oder Kaffee und checkt regelmäßig die Logdatei bis folgendes zu sehen ist:


1299055ms th_a       application.cpp:507           handle_block         ] Got 14 transactions on block 12928269 by pharesim -- latency: 55 ms
1302427ms th_a       application.cpp:507           handle_block         ] Got 18 transactions on block 12928270 by xeldal -- latency: 426 ms
1305291ms th_a       application.cpp:507           handle_block         ] Got 26 transactions on block 12928271 by arhag -- latency: 291 ms
1308045ms th_a       application.cpp:507           handle_block         ] Got 20 transactions on block 12928272 by pfunk -- latency: 45 ms
1311092ms th_a       application.cpp:507           handle_block         ] Got 23 transactions on block 12928273 by bhuz -- latency: 92 ms

Glückwunsch! Euer Witness Server ist jetzt synchronisiert!

Jetzt braucht ihr euren Steemit Private Key. Den findet ihr auf Steemit wenn ihr auf Wallet und dann auf Permissions klickt.



(Bild von @klye)

Denkt euch jetzt ein langes sicheres Passwort aus. Das dürfen ruhig 40 – 60 Zeichen sein.
Mit folgenden Befehlen setzt ihr das Passwort, schließt die Wallet auf und importiert euren Steemit Active Key:


set_password "supersichersuperlangespw"
unlock "supersichersuperlangespw"
import_key 5zzzzzzzzzzzz

Jetzt ist es an der Zeit dem Netzwerk zu sagen das ihr da seit:
Ersetzt den STMxxx Key mit dem Public Key den ihr euch am Anfang gespeichert habt!


update_witness "DEINNAME" "https://steemit.com/witness-category/@DEINNAME/DEIN-WITNESS-ARTIKEL-AUF_STEEMIT" "STMxxxxxxx" {"account_creation_fee":"0.200 STEEM","maximum_block_size":131072,"sbd_interest_rate":0} true

Sollten jetzt keine fetten roten Fehlermeldungen auftauchen hat alles geklappt!

Geht jetzt auf https://steemit.com/~witnesses und Votet für euch selber (und vielleicht ja auch für mich^^)


Nach ein paar Tagen solltet ihr hier zu sehen sein:

https://steemian.info/witnesses


Hilfe von der wahrscheinlich besten Community der Welt findet ihr im Chat:

https://steem.chat/home


Und vergesst nicht für mich als Witness zu Voten :)

https://steemit.com/~witnesses

 https://steemconnect.com/sign/account_witness_vote?account=&approve=1&witness=snarf 


Grüßle 

Snarf

Sort:  

@snarf You have received a 100% upvote from @introbot because this post did not use any bidbots and you have not used bidbots in the last 30 days!

Upvoting this comment will help keep this service running.

Dein Beitrag wurde von einem Kurator (kein Bot!) des German-Steem-Bootcamp gesichtet und mit einen Upvotes über ein paar Cent belohnt.

Guten Tag,

Ich bin der Germanbot und du hast von mir ein Upvote erhalten! Als Upvote-Bot möchte ich, hochwertiges Deutsches Content fördern. Noch bin ich ein kleiner Bot, aber ich werde wachsen.

Jeden Tag erscheint ein Voting Report, in dem dein Beitrag mit aufgelistet wird. Auch werden meine Unterstützer mit erwähnt. Mach weiter so, denn ich schaue öfter bei dir vorbei.

Gruß

GermanBot

Vielen Dank^^

post a beautiful pal by. @ adit123

Kannst du mit bitte helfen?

Ich bekomme beim ausführen von ./run.sh remote_wallet immer folgende Fehlermeldung:

Starting a new wallet
2246390ms main.cpp:167 main ] wdata.ws_server: wss://steemd.privex.io
0 exception: unspecified
Invalid HTTP status.
{"message":"Invalid HTTP status."}
websocket.cpp:513 operator()

{"uri":"wss://steemd.privex.io"}
websocket.cpp:699 secure_connect

{"uri":"wss://steemd.privex.io"}
websocket.cpp:673 connect

Was für eine Bandbreite (Verbindungsgeschwindigkeit) braucht der Server ?
Werden alle 64 GB Ram benutzt?

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.032
BTC 61660.23
ETH 3056.45
USDT 1.00
SBD 3.82