Ich versuche, mit Ubuntu und IDE Qt Creator einen Genesis-Block in Twister-Core zu erstellen. Ich habe den Twister-Core erfolgreich kompiliert, ich habe diese Parameter zum Erstellen des Genesis-Blocks und pszTimestamp
geändert . Dann habe ich es erfolgreich neu kompiliert. Wenn ich im Terminal mit diesem Befehl ausführegenesis.nTime
genesis.nNonce
twisterd
./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
dieser Fehler ist aufgetreten:
Terminalfehler:
Assertion `hashGenesisBlock == uint256("b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640")' ist fehlgeschlagen. Abgebrochen (Core Dump)
Wenn ich es auf Qt-Creator starte, tritt derselbe Fehler auf Fehler:
twisterd: ../twister/src/chainparams.cpp:216: CMainParams::CMainParams(): Assertion `hashGenesisBlock == uint256("b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640")' ist fehlgeschlagen.
Das Programm wurde unerwartet beendet.
../twister-qt-Output/twisterd beendet mit Code 0
Bitte helfen Sie mir, dieses Problem zu lösen.
chainparams.cpp
enthält eine Codezeile, die überprüft, ob der Genesis-Block der Kette einem bestimmten Hash entspricht. Da Sie einen neuen Genesis-Block erstellt haben, müssen Sie den Wert auf Ihren eigenen Hash aktualisieren.
Ein Beispiel für die Zeile sehen Sie hier:
hashGenesisBlock = genesis.GetHash();
assert(hashGenesisBlock == uint256("9915158279673d101912be80f25c20627f1dd8bf5231e7c46bfec5ed19737f44"));
Welche ich von miguelfreitas/twister-core/…/chainparams.cpp genommen habe
Um herauszufinden, was Sie dort einfügen müssen, können Sie genesis.GetHash()
den alten Hash in der Assertion drucken und ersetzen.
Um den Hash des Genesis-Blocks zu drucken, können Sie verwenden
printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
direkt über der Zeile mit der Assertion, die in die ~/.bitcoin/debug.log
.
Murch