Ausführen des RSK-Knotens – Angel Java Lopez


Heute möchte ich zeigen, wie ein RSK-Knoten über die Befehlszeile gestartet wird. Der Quellcode des Projekts befindet sich im rskj-Repository. Dies ist die Art und Weise, wie ich meine Experimente verwende (Nutzung, Bereitstellung und Ausführung intelligenter Verträge usw.). Der Knoten ist ein Client in den RSK-Netzwerken, ähnlich einem Ethereum-Client. Die folgenden Anweisungen gelten für verschiedene Betriebssysteme. Ich verwende sie normalerweise in Windows 10. Es handelt sich um weitere Anweisungen und Optionen zur Einrichtung im RSK Developers Portal (dh Sie können ein Docker-Image verwenden).

Ich benutze die Fettglasoption. Laden Sie zuerst die neueste Version aus der Versionsliste herunter. In meinem Fall lade ich das 1.3.0-Fettglas herunter. Im Entwicklerportal finden Sie zusätzliche Informationen, um die Integrität dieses Downloads zu überprüfen. Sie können auch das Projektquellcode-Repository klonen und den Anweisungen zum Kompilieren des Projekts folgen.

Sie müssen Java 8 JDK installiert haben. Kopieren Sie dann das heruntergeladene Fettglas in einen neuen Ordner. Und Renn:

java -cp rskj-core-1.3.0-WASABI-all.jar co.rsk.Start --regtest

Mit dem obigen Befehl wird der Knoten gestartet. Auf dem Bildschirm wird nichts angezeigt. Es läuft einfach. in einem lokalen Netzwerk, genannt regtest. Alternativ können Sie Folgendes ausführen:

java -cp rskj-core-1.3.0-WASABI-all.jar co.rsk.Start --regtest --reset

mit dem zusätzlichen - zurücksetzen Flag zum Initialisieren der lokalen Datenbank.

Wenn Sie eine Verbindung zum RSK-Testnetz herstellen möchten, verwenden Sie:

java -cp rskj-core-1.3.0-WASABI-all.jar co.rsk.Start - testnet

mit dem --testnet Flagge. Und für mainnet einfach ausführen:

java -cp rskj-core-1.3.0-WASABI-all.jar co.rsk.Start

ohne das zu verwendende Netzwerk anzugeben.

Während der Ausführung erstellt der Knoten einige Protokolle, die in einer lokalen Datei gespeichert werden. Überprüfen Sie den Unterordner logs des Startordners, und Sie finden die Datei rsk.log. Ein Fragment des Protokollinhalts, extrahiert aus einem meiner Experimente:

2020-03-22-07: 32: 57.663 INFO [config]  Config (no): Benutzereigenschaften aus der Datei -Drsk.conf.file 'null'2020-03-22-07: 32: 57.667 INFO [config]  Config (no): Standardeigenschaften aus dem Installationsprogramm '/etc/rsk/node.conf'2020-03-22-07: 32: 58.955 DEBUG [c.r.b.c.Context]  Erstellen des Kontexts bitcoinj 0.14.4.2020-03-22-07: 32: 59.264 INFO [general]  DB ist leer - Genesis wird hinzugefügt2020-03-22-07: 32: 59.265 INFO [general]  Genesis-Block geladen2020-03-22-07: 32: 59.314 INFO [general]  Neue Knoten-ID generiert: 796d4c6017ca3424bb4401884c00e2eda1cd48683adeaf3de13d3e1e11ec3b272a4764bb3e65fc7c1eb8caefaed95b8536ee1deaecaf2b9c21ec9bb26c8905712020-03-22-07: 32: 59.314 INFO [general]  Generierte NodeID und ihr privater Schlüssel werden in C: UsersAngel.rskregtestdatabasenodeId.properties gespeichert2020-03-22-07: 32: 59.322 INFO [general]  Die öffentliche IP-Adresse wurde nicht festgelegt oder aufgelöst. Verwenden Sie https://checkip.amazonaws.com, um sie zu identifizieren ...2020-03-22-07: 33: 00.977 INFO [general]  Identifizierte öffentliche IP: /181.165.60.382020-03-22-07: 33: 01.195 DEBUG [c.g.j.JsonRpcBasicServer]  Server für die Schnittstellenklasse co.rsk.rpc.Web3RskImpl mit der Handlerklasse co.rsk.rpc.Web3RskImpl erstellt2020-03-22-07: 33: 01.334 INFO [fullnoderunner]  RSK starten2020-03-22-07: 33: 01.334 INFO [fullnoderunner]  Ausführen von rsk-dev.json, Kernversion: 1.3.0-WASABI2020-03-22-07: 33: 01.334 INFO [fullnoderunner]  git.hash: [36f480d]2020-03-22-07: 33: 01.334 INFO [fullnoderunner]  build.branch: KOPF2020-03-22-07: 33: 01.345 INFO [net]  Der RskJ-Knoten wurde gestartet: Enode: //796d4c6017ca3424bb4401884c00e2eda1cd48683adeaf3de13d3e1e11ec3b272a4764bb3e65fc7c1eb8caefaed95b8536ee1deaecaf2b9c21ec9bb26c895.712020-03-22-07: 33: 01.346 INFO [c.r.r.n.Web3HttpServer]  RPC HTTP aktiviert2020-03-22-07: 33: 01.361 INFO [net]  Auf eingehende Verbindungen warten, Host: /0.0.0.0, Port: [50501]

Wie andere Ethereum- oder Bitcoin-Implementierungen verwendet rskj keine relationale Datenbank. Stattdessen werden lokale Leveldb-Ordner verwendet, in denen Blöcke, Transaktionsbelege, der Weltstatus und andere Informationen gespeichert werden. Wenn Sie einen Knoten in regtest ausführen, lautet der Ordner:

/.rsk/regtest/database

In meinem Windows 10 befindet es sich unter:

C: Benutzer.rskregtest

Enthält Unterordner:

C: Benutzer.rskregtest└───Datenbank
├───blöcke
├─── Rezepte
├───stateRoots
├───unitrie
└─── Geldbörse

Das Rskj-Protokollsystem basiert auf der Rückmeldung. Im kompilierten JAR befindet sich eine Konfigurationsdatei logback.xml. Sie können die Datei aus dem Repository kopieren und ändern, um mehr Protokollierungsoptionen zu erhalten. Starten Sie dann den Knoten mit einem zusätzlichen Befehlszeilenparameter, der den Pfad zur neuen zu verwendenden Protokollierungsdatei angibt:

java -cp rskj-core-1.3.0-WASABI-all.jar -Dlogback.configurationFile = / dev / rskconf / logback.xml co.rsk.Start --regtest

Es gibt einen Abschnitt zum Aktivieren der Konsolenausgabe für die Protokolle:

Aktivieren der Konsolenausgabe für die Protokolle

Normalerweise schalte ich in meinen Experimenten einige Themen ein:

Stellen Sie die TRACE-Ebene ein, um weitere Protokollinformationen zu erhalten

Die Themen, die ich auf TRACE-Ebene geändert habe, sind: ausführen, Blockvalidator, Blockexecutor, Blockchain, Messagehandler, Blockchain, Blockprozessor.

Viele dieser Themen werden im Quellcode innerhalb von Klassen definiert. Wenn Sie beispielsweise die TransactionExecutor-Protokollierung aktivieren möchten, lesen Sie die Quelle und ermitteln Sie das zugehörige Logger-Thema:

Logger-Thema innerhalb einer Klasse definiert

Sie können mit Standardbibliotheken und -befehlen eine Verbindung zum laufenden Knoten herstellen. Ich bevorzuge die Verwendung meiner eigenen Bibliothek, die in meiner Post-A-Bibliothek und den Befehlen beschrieben ist, um mit RSK- und Ethereum-Knoten zu interagieren. Weitere Informationen finden Sie im RSK Developer Portal.

Engel "Java" Lopez

Coins Kaufen: Bitcoin.deAnycoinDirektCoinbaseCoinMama (mit Kreditkarte)Paxfull

Handelsplätze / Börsen: Bitcoin.de | KuCoinBinanceBitMexBitpandaeToro

Lending / Zinsen erhalten: Celsius NetworkCoinlend (Bot)

Cloud Mining: HashflareGenesis MiningIQ Mining

Werbung: Immobilienmakler HeidelbergMakler Heidelberg

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close