altcoin debug.log muestra ERROR: CTxDB::LoadBlockIndex(): Error en la altura del punto de control del modificador de participación = 0 [cerrado]

Lo que he hecho hasta ahora:

  • Generado nuevo Bloque Génesis
  • Generado nuevo MerkleRoot
  • MerkleRoot actualizado
  • Valores de bloque de Génesis actualizados
  • Comenté estas líneas
  • Compilado en CentOS 6
  • Creado altcoin.confcon
rpcuser=someuser
rpcpassword=somepassword
  • lanzado./altcoin

En este punto todo parecía estar bien, pero...

  • ./altcoind getinfo

muestra:

{
    "version" : 60300,
    "protocolversion" : 60001,
    "walletversion" : 60000,
    "balance" : 0,
    "blocks" : 0,
    "connections" : 1,
    "proxy" : "",
    "difficulty" : 1.00000000,
    "testnet" : false,
    "keypoololdest" : 1400530204,
    "keypoolsize" : 104,
    "paytxfee" : 0.00000000,
    "mininput" : 0.00010000,
    "errors" : ""
}
  • así que trato de usar un minero interno para extraer el primer bloque./altcoind setgenerate true 8
  • mientras comprobaba el progreso, ./altcoind getmininginfoobtuve un resultado extraño

el cual muestra:

{
    "blocks" : 0,
    "currentblocksize" : 0,
    "currentblocktx" : 0,
    "difficulty" : 1.00000000,
    "errors" : "",
    "generate" : true,
    "genproclimit" : 4,
    "hashespersec" : 0,
    "networkhashps" : 1.46543,
    "pooledtx" : 0,
    "testnet" : false
}

En este punto, tengo problemas ./altcoind stopy cuando intento iniciarlo de nuevo, debug.logmuestra:

Altcoin Network: genesis=0x00000000324a1b505ecd nBitsLimit=0x1d00ffff nBitsInitial=0x1c00ffff nStakeMinAge=604800 nCoinbaseMaturity=500 nModifierInterval=21600
ERROR: CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=0, modifier=0x0000000000000000
 block index               1ms
Loading wallet...
nFileVersion = 60300
Error loading blkindex.dat
 wallet                  301ms
Done loading
mapBlockIndex.size() = 1
nBestHeight = -1
setKeyPool.size() = 101
mapWallet.size() = 0
mapAddressBook.size() = 1

y el mismo error una y otra vez... ya me estoy partiendo la cabeza un rato....

uno puede, por favor, indíqueme la dirección correcta. gracias

ACTUALIZACIÓN1:

  • eliminó todo el contenido de ~/.altcoin/exceptoaltcoin.conf
  • lanzado./altcoind
  • emitido./altcoind setgenerate true 4

en este punto, descubrí que ./altcoindse inicia sin quejarme del modificador de participación , aunque cada vez que quiero reiniciar, tengo que eliminar el contenido de ~/.altcoin/lo contrario, aparece un error.

salida de debug.log:

AltCoin version v0.5.4.0-unk-beta ()
Default data directory /root/.thecoin
Loading addresses...
dbenv.open LogDir=/root/.altcoin/database ErrorFile=/root/.altcoin/db.log
Loaded 0 addresses
 addresses                30ms
Loading block index...
AltCoin Network: genesis=0x00000000324a1b505ecd nBitsLimit=0x1d00ffff nBitsInitial=0x1c00ffff nStakeMinAge=604800 nCoinbaseMaturity=500     nModifierInterval=21600
00000000324a1b505ecd77b793658f4fa6cd386653fdabd7d1c66907177174d6
00000000324a1b505ecd77b793658f4fa6cd386653fdabd7d1c66907177174d6
d8098e7eb449eed16c09fd7c97dec2acd1ec386ced36cf970a05c92fc2c0a05b
CBlock(hash=00000000324a1b505ecd, ver=1, hashPrevBlock=00000000000000000000, hashMerkleRoot=d8098e7eb4, nTime=1508926967, nBits=1d00ffff, nNonce=2600258680, vtx=1, vchBlockSig=)
  Coinbase(hash=d8098e7eb4, nTime=1508926967, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(0000000000, -1), coinbase 04ffff001d020f274c4c205468652045636f6e6f6d697374202d2054686520626f79636f7474206f662051617461722069732068757274696e672069747320656e666f7263657273202d204f63742031392032303137)
    CTxOut(empty)
  vMerkleTree: d8098e7eb4
SetBestChain: new best=00000000324a1b505ecd  height=0  trust=1  moneysupply=0.00
 Upgrade Info: v0.5+ txdb initialization
ResetSyncCheckpoint: pending for sync-checkpoint ab0dad4b10d2370f009ed6df6effca1ba42f01d5070d6b30afeedf6463fbe7a2
ResetSyncCheckpoint: sync-checkpoint reset to 00000000324a1b505ecd77b793658f4fa6cd386653fdabd7d1c66907177174d6
 Upgrade Info: no txdb upgrade v0.3->v0.4 detected.
 Upgrade Info: v0.5+ no txdb upgrade detected.
 block index               4ms
Loading wallet...
nFileVersion = 60300
Performing wallet upgrade to 60000
keypool added key 1, size=1
keypool added key 2, size=2
keypool added key 3, size=3
...
...
keypool added key 101, size=101
keypool reserve 1
keypool keep 1
 wallet                  755ms
Done loading
mapBlockIndex.size() = 1
nBestHeight = 0
setKeyPool.size() = 100
mapWallet.size() = 0
mapAddressBook.size() = 1
Bound to port 11111
Added 1.1.1.90:11111 from 127.0.0.1: 0 tried, 1 new
Added 1.1.1.1:11111 from 127.0.0.1: 0 tried, 2 new
ThreadRPCServer started
ipv4 venet0: 127.0.0.1
ipv4 venet0:0: 2.2.2.62
addrLocalHost = 2.2.2.62:11111
IRC seeding/communication disabled
ThreadSocketHandler started
ThreadOpenAddedConnections started
trying connection 1.1.1.90:11111 lastseen=-391515.5hrs
ThreadOpenConnections started
ThreadMessageHandler started
ThreadStakeMinter started
CPUMiner started for proof-of-stake
ThreadDNSAddressSeed started
Loading addresses from DNS seeds (could take a while)
Added 9 addresses from 0:0:0:0:0:0:0:0: 0 tried, 11 new
connected 1.1.1.90:11111
Added time data, samples 2, offset +0 (+0 minutes)
Moving 1.1.1.90:11111 to tried
version message: version 60006, blocks=0
getblocks -1 to 00000000000000000000 limit 500
trying connection 1.1.1.9:11111 lastseen=-391515.5hrs
Added 13 addresses from 1.1.1.90: 1 tried, 23 new
GetMyExternalIP() received [2.2.2.62] 2.2.2.62:0
GetMyExternalIP() returned 2.2.2.62
connected 198.143.186.9:11111
Added 21 addresses from 0:0:0:0:0:0:0:0: 1 tried, 44 new
...
...
2017-10-31 13:15:58 UTC Flushing wallet.dat    
...
4 processors
Starting 4 BitcoinMiner threads
CPUMiner started for proof-of-work
CPUMiner started for proof-of-work
CPUMiner started for proof-of-work
CPUMiner started for proof-of-work
...
...
ThreadRPCServer method=getmininginfo

a pesar de que está en funcionamiento y ambos nodos están conectados entre sí, las salidas de ./altcoind getinfoy ./altcoind getmininginfosiguen siendo las mismas.

ACTUALIZAR 2

  • eliminado todos los puntos de control duros del kernel.cpp enlace
  • agregado( 0, 0x0000000000000000 )

    // Puntos de control estrictos de los modificadores de participación para garantizar que sean deterministas estáticos std::map mapStakeModifierCheckpoints = boost::assign::map_list_of ( 0, 0x0000000000000000 ) // ( 0, 0x0e00670bu ) // ( 19080, 0xad4e4d29u ) // ( 30583, 0xdc7bf136u) // (99999, 0xf555cfd2u) // (219999, 0x91b7444du);

  • recompilado

  • eliminado todo el contenido de ~/.altcoin/la carpeta
  • agregadoaltcoin.conf
  • lanzado./altcoind
  • emitido ./altcoind getinfo- la salida sigue siendo la misma
  • problemas ./altcoind setgenerate true 4-
  • debug.logla salida es la misma que antes
  • emitido./altcoind stop
  • lanzado./altcoind

en este punto volví a fallar con el mismo mensaje de error

AltCoin Network: genesis=0x00000000324a1b505ecd nBitsLimit=0x1d00ffff nBitsInitial=0x1c00ffff nStakeMinAge=604800 nCoinbaseMaturity=500 nModifierInterval=21600
ERROR: CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=0, modifier=0x0000000000000000
También eliminé todos los puntos de control junto a (0, genesisBlock) checkpoints.cppy los volví a compilar... sigue siendo el mismo problema...
¿Es github.com/mammix2/boostcoin-core su código fuente o algo de lo que se bifurcó?
Bifurqué peercoin master0.5 el enlace . Dado que es con fines educativos, no envié el código a GitHub ni a ningún otro lugar. Dígame lo que necesita y se lo proporcionaré a través de pastebin.
Acabo de agregar la ACTUALIZACIÓN 1 en el bloque principal
no es altcoinforo
He agregado ACTUALIZACIÓN 2 en el bloque principal que cubre algunos de los kernel.cppcambios recomendados por @AndrewChow

Respuestas (2)

Parece que no cambió los puntos de control del modificador de participación que se encuentran aquí: https://github.com/peercoin/peercoin/blob/master-0.5/src/kernel.cpp#L40 . Deberá cambiar estos puntos de control del modificador de apuesta para que coincidan con los modificadores de apuesta de sus bloques de puntos de control.

Si no desea verificar esos puntos de control, puede cambiar esta función: https://github.com/peercoin/peercoin/blob/master-0.5/src/kernel.cpp#L508 para que siempre devuelva verdadero. Eso debería "arreglar" este problema que está experimentando.

Yo lo hice. Ver mi comentario de arriba.
un fragmento de checkpoints.cpp archivo
No vi tu comentario. he actualizado mi respuesta
ya que no hay bloques aparte de génesis, ¿dónde encuentro uno?
Simplemente elimine todos los modificadores para alturas que no sean 0 y cambie el de 0 para que sea el modificador de apuesta para su bloque de génesis.
Obtuve el siguiente resultado, ¿ AltCoin Network: genesis=0x00000000324a1b505ecd nBitsLimit=0x1d00ffff nBitsInitial=0x1c00ffff nStakeMinAge=604800 nCoinbaseMaturity=500 nModifierInterval=21600 ERROR: CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=0, modifier=0x0000000000000000puede ser que el modificador sea modifier=0x0000000000000000? de lo contrario, indique dónde debo buscarlo. Gracias.
Lo intenté según su última actualización... sigue siendo el mismo resultado...
Actualicé mi respuesta de nuevo.
Gracias una tonelada. Lo intentaré, pero ¿qué pasa en caso de que quiera usar los puntos de control más adelante? ¿Se pueden habilitar de forma segura en una etapa posterior?
Si desea utilizar los puntos de control más tarde, tendrá que volver a agregar esa función y configurar el mapa de puntos de control correctamente. Supongo que no lo está configurando correctamente (el modificador de participación probablemente sea incorrecto), por lo que no funciona. No sé cuál es el valor correcto para tu bloque de génesis.

Debe encontrar el modificador correcto para usar para el bloque 0 usando getblock de su hash de génesis

getblock 00000000324a1b505ecd77b793658f4fa6cd386653fdabd7d1c66907177174d6