Ich habe ein privates Testnetzwerk, das gemäß diesem Artikel läuft . Insbesondere difficulty
ist my auf 0x400
; Die gesamte Genesis-Datei, die ich verwende, kann hier eingesehen werden .
Mining mit geth
scheint überhaupt nicht zu funktionieren.
Hier ist, was ich versucht habe. Zuerst eine frische Blockchain und ein neues Konto:
vagrant@debian-jessie:~$ mkdir stackexchange-example-chain
vagrant@debian-jessie:~$ geth --genesis local_genesis.json \
--datadir stackexchange-example-chain \
--networkid 9991 --nodiscover --maxpeers 0 account new
Nachdem Sie sich damit befasst haben, starten Sie die Konsole:
vagrant@debian-jessie:~$ geth --genesis local_genesis.json \
--datadir stackexchange-example-chain \
--networkid 9991 --nodiscover --maxpeers 0 console
Und dann verstehe ich das Standard-Mining-Setup:
> eth.accounts
["0x699ec6d49641e59f65ba4bf72c52628059301e64"]
> var foo = eth.accounts[0];
undefined
> miner.setEtherbase(foo);
true
> miner.start(2);
true
Die Protokolle berichten, dass das Generieren des DAG für Epoche 0 in ~1 Sekunde abgeschlossen ist und der Miner dann zu hängen scheint. Die längste Zeit, die ich laufen ließ, waren etwa 15 Minuten, aber bei der angegebenen Schwierigkeit verstehe ich, dass ich viel in viel kürzerer Zeit abbauen sollte. Wenn ich miner.hashrate
an irgendeinem Punkt überprüfe, erhalte ich nur einen bizarren new BigNumber() not a number: [object Object]
Fehler.
Ich habe auch versucht, das .ethash
Verzeichnis zu löschen und einen neuen DAG von Grund auf neu zu erstellen. Gleiches Ergebnis.
Nach dem Stoppen mit bestätigt miner.stop(2)
ein getBalance
Aufruf, dass keine Ether geschürft wurden:
> eth.getBalance(foo);
0
Wenn ich anrufeeth.getBlock('pending', true)
, erhalte ich die folgenden Informationen (Sie können die gesamte Protokoll-/Konsolensitzungsausgabe in diesem Kern sehen ):
{
difficulty: 131072,
extraData: "0xd783010400844765746887676f312e352e31856c696e7578",
gasLimit: 268173313,
gasUsed: 0,
hash: null,
logsBloom: null,
miner: null,
nonce: null,
number: 1,
parentHash: "0x522fe03765d5834422cd7cfc88c435f33bcd13d7a4c71cd8eaf321a8b3dd8ea3",
receiptRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
size: 536,
stateRoot: "0x2fa7b359e63faf5af52846537e67053ffd96d2fd33877704192c9c3e6e6266b9",
timestamp: 1455530923,
totalDifficulty: 0,
transactions: [],
transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
uncles: []
}
Beachten Sie, dass der gemeldete difficulty
Wert viel höher ist als das, was ich in meiner Genesis-Datei angegeben habe. 131072, wobei ich davon ausgehe, dass es 1024 wäre. Vielleicht stellt dies aber nicht die gleiche Schwierigkeit dar. Später totalDifficulty
wird verblüffenderweise als 0 gemeldet.
Hat jemand eine Ahnung, was hier schief laufen könnte?
Es scheint, als ob dies das gleiche Problem ist, das in dieser Frage auftritt .
Wie in den Kommentaren erwähnt, scheint dies auf einen Fehler zurückzuführen zu sein .
Ein Neustart meiner VM scheint das Problem in der Zwischenzeit umgangen zu haben.
Ich hatte ein ähnliches Problem. Wenn Sie in einer virtuellen Maschine arbeiten. Stellen Sie sicher, dass Sie genügend RAM-Speicher zuweisen. Ich habe anfangs 800 MB verwendet und das Mining hat nicht funktioniert (die Hash-Rate war sehr niedrig). 2 GB Speicher zugewiesen und es funktionierte gut.
Wir hatten ein sehr ähnliches Problem. Das Aktualisieren von Geth auf die neueste Version und das Löschen und erneute Erstellen des DAG scheint das Problem behoben zu haben
q9f
jtobin