Problem beim Erstellen von Genesis Block Twister-Core mit Ubuntu und (Qt Creator IDE)

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 pszTimestampgeändert . Dann habe ich es erfolgreich neu kompiliert. Wenn ich im Terminal mit diesem Befehl ausführegenesis.nTimegenesis.nNoncetwisterd

./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.

Antworten (1)

chainparams.cppenthä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.

Hallo, ich habe auch das genesis.hashMerkleRoot mit dem obigen Beispiel gedruckt. Sagen Sie mir bitte, wo ich diesen Hash ablege, um den Genesis-Block zu erstellen.
Bei der neuesten Quelle Bitcoin 0.15.1 wird die Datei debug.log nicht generiert? Warum?
@leegod: Wenn Sie eine neue Frage haben, beginnen Sie bitte ein anderes Thema
Hi. Also, selbst wenn nach Änderung des Hash-Wertes Übereinstimmung, aber noch ein weiterer aufgetreten ist, ERROR: ReadBlockFromDisk: Errors in block header at CBlockDiskPos(nFile=0, nPos=8) Ich habe dieses Forum gepostet, Antworter sagt "Ihr Genesis-Block ist falsch. Sie tatsächlich müssen den Block abbauen, nicht nur die Parameter ändern." aber wie? Ich habe viel gesucht, aber der meiste Code meiner Blocks ist veraltet und funktioniert derzeit nicht. Kennst du diese Lösung? Vielen Dank.