Estoy tratando de crear un bloque de génesis en twister-core usando Ubuntu e IDE Qt Creator. Compilé el twister-core con éxito, cambié estos parámetros para crear el bloque pszTimestamp
de génesis genesis.nTime
y genesis.nNonce
. Luego lo volví a compilar con éxito. Cuando estoy ejecutando twisterd
en la terminal usando este comando
./twisterd -rpcuser=user -rpcpassword=pwd -rpcallowip=127.0.0.1
ocurrió este error:
Error de terminal:
la afirmación `hashGenesisBlock == uint256("b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640")' falló. Anulado (núcleo volcado)
Cuando lo ejecuto en Qt-Creator ocurre el mismo error Error:
twisterd: ../twister/src/chainparams.cpp:216: CMainParams::CMainParams(): La afirmación `hashGenesisBlock == uint256("b24b7a9c568b4ae288c0be34699c4c79fc22848e7c346afd5f63901e41ed8640")' falló.
El programa ha finalizado inesperadamente.
../twister-qt-Output/twisterd salió con el código 0
Porfavor ayudame a resolver este problema.
chainparams.cpp
contiene una línea de código que comprueba si el bloque de génesis de la cadena es igual a un hash especificado. Dado que creó un nuevo bloque de génesis, deberá actualizar el valor a su propio hash.
Puedes ver un ejemplo de la línea aquí:
hashGenesisBlock = genesis.GetHash();
assert(hashGenesisBlock == uint256("9915158279673d101912be80f25c20627f1dd8bf5231e7c46bfec5ed19737f44"));
Que saqué de miguelfreitas/twister-core/…/chainparams.cpp
Para averiguar qué poner allí, puede imprimir genesis.GetHash()
y reemplazar el hash anterior en la aserción.
Para imprimir el hash del bloque génesis, puedes usar
printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
justo encima de la línea con la aserción, que escribirá en el ~/.bitcoin/debug.log
.
muro