altcoin debug.log zeigt ERROR: CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=0 [geschlossen]

Was ich bisher gemacht habe:

  • Generierte neuen Genesis-Block
  • Neues MerkleRoot generiert
  • MerkleRoot aktualisiert
  • Aktualisierte Genesis-Blockwerte
  • Habe diese Zeilen auskommentiert
  • Kompiliert auf CentOS 6
  • Erstellt altcoin.confmit
rpcuser=someuser
rpcpassword=somepassword
  • gestartet./altcoin

Zu diesem Zeitpunkt schien alles in Ordnung zu sein, aber ...

  • ./altcoind getinfo

zeigt an:

{
    "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" : ""
}
  • Also versuche ich, den internen Miner zu verwenden, um den ersten Block abzubauen./altcoind setgenerate true 8
  • Beim Überprüfen des Fortschritts von ./altcoind getmininginfobekam ich eine seltsame Ausgabe

welche Shows:

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

An diesem Punkt habe ich Probleme ./altcoind stopund wenn ich versuche, es erneut zu starten, debug.logwird Folgendes angezeigt:

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

und immer wieder der selbe fehler... ich zerbreche mir schon länger den kopf....

kann man mir bitte die richtige richtung zeigen. Danke

UPDATE1:

  • löschte den gesamten Inhalt von ~/.altcoin/exceptaltcoin.conf
  • gestartet./altcoind
  • ausgegeben./altcoind setgenerate true 4

An diesem Punkt habe ich herausgefunden, ./altcoinddass es startet, ohne sich über den Einsatzmodifikator zu beschweren , obwohl ich jedes Mal, wenn ich neu starten möchte, den Inhalt löschen muss, ~/.altcoin/da sonst ein Fehler auftritt.

Ausgabe von 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

Obwohl es läuft und beide Knoten miteinander verbunden sind, sind die Ausgänge von ./altcoind getinfound ./altcoind getmininginfoimmer noch gleich.

AKTUALISIERUNG 2

  • alle harten Checkpoints aus kernel.cpp dem Link entfernt
  • hinzugefügt( 0, 0x0000000000000000 )

    // Feste Checkpoints von Stake-Modifikatoren, um sicherzustellen, dass sie deterministisch sind. 0xdc7bf136u) // (99999, 0xf555cfd2u) // (219999, 0x91b7444du);

  • neu kompiliert

  • entfernt den gesamten Inhalt des ~/.altcoin/Ordners
  • hinzugefügtaltcoin.conf
  • gestartet./altcoind
  • ausgegeben ./altcoind getinfo- Ausgabe ist immer noch die gleiche
  • Probleme ./altcoind setgenerate true 4-
  • debug.logDie Ausgabe ist die gleiche wie zuvor
  • ausgegeben./altcoind stop
  • gestartet./altcoind

An dieser Stelle habe ich es wieder mit der gleichen Fehlermeldung fehlgeschlagen

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
Ich habe auch alle Checkpoints neben (0, genesisBlock) aus entfernt checkpoints.cppund neu kompiliert... immer noch das gleiche Problem...
Ist github.com/mammix2/boostcoin-core Ihr Quellcode oder etwas, von dem Sie geforkt haben?
Ich habe peercoin master0.5 den Link gegabelt . Da es sich um Bildungszwecke handelt, habe ich keinen Code an GitHub oder anderswo übermittelt. Lassen Sie mich wissen, was Sie brauchen, und ich werde es über Pastebin bereitstellen
Ich habe gerade UPDATE 1 im Hauptblock hinzugefügt
Es ist kein altcoinForum
Ich habe UPDATE 2 im Hauptblock hinzugefügt , das einige der kernel.cppvon @AndrewChow empfohlenen Änderungen abdeckt

Antworten (2)

Es sieht so aus, als hätten Sie die Stake-Modifier-Checkpoints nicht geändert, die Sie hier finden: https://github.com/peercoin/peercoin/blob/master-0.5/src/kernel.cpp#L40 . Sie müssen diese Stake-Modifier-Checkpoints ändern, damit sie mit den Stake-Modifiers Ihrer Checkpoint-Blöcke übereinstimmen.

Wenn Sie diese Prüfpunkte nicht überprüfen möchten, können Sie einfach diese Funktion ändern: https://github.com/peercoin/peercoin/blob/master-0.5/src/kernel.cpp#L508 , um immer wahr zurückzugeben. Das sollte dieses Problem, das Sie erleben, "beheben".

Ich habe das gemacht. Siehe meinen Kommentar oben.
ein Ausschnitt der checkpoints.cpp Datei
Ich habe deinen Kommentar nicht gesehen. Ich habe meine Antwort aktualisiert
Da es außer Genesis keine Blöcke gibt, wo finde ich einen?
Entfernen Sie einfach alle Modifikatoren für andere Höhen als 0 und ändern Sie den für 0 so, dass er den Stake-Modifikator für Ihren Genesis-Block hat.
Ich habe die folgende Ausgabe erhalten, AltCoin Network: genesis=0x00000000324a1b505ecd nBitsLimit=0x1d00ffff nBitsInitial=0x1c00ffff nStakeMinAge=604800 nCoinbaseMaturity=500 nModifierInterval=21600 ERROR: CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=0, modifier=0x0000000000000000kann es sein, dass der Modifikator ist modifier=0x0000000000000000? Andernfalls geben Sie bitte an, wo ich danach suchen soll. Danke.
Ich habe es nach Ihrem letzten Update versucht ... immer noch das gleiche Ergebnis ...
Ich habe meine Antwort noch einmal aktualisiert.
Danke vielmals. Ich werde es versuchen, aber was ist, wenn ich später Checkpoints verwenden möchte? Können diese zu einem späteren Zeitpunkt sicher aktiviert werden?
Wenn Sie Checkpoints später verwenden möchten, müssen Sie diese Funktion wieder hinzufügen und die Checkpoints-Karte richtig einstellen. Ich vermute, dass Sie es nicht richtig einstellen (der Einsatzmodifikator ist wahrscheinlich falsch), also funktioniert es nicht. Ich weiß nicht, was der richtige Wert für Ihren Genesis-Block ist.

Sie sollten den richtigen Modifikator für Block 0 finden, indem Sie getblock Ihres Genesis-Hash verwenden

getblock 00000000324a1b505ecd77b793658f4fa6cd386653fdabd7d1c66907177174d6