Wie kann man die Ethereum-Mining-Schwierigkeit für eine private Kette statisch machen?

Ich habe eine private Kette in Ethereum implementiert, aber der Schwierigkeitsgrad steigt mit der Zeit, da sich der Mining-Prozess verlangsamt. Ist es möglich, die Schwierigkeit statisch zu machen oder im Testnet zu deaktivieren?

Hier können Sie die ganze Erklärung dazu sehen: blog.coinfabrik.com/…

Antworten (2)

Ändern Sie die CalcDifficultyin Geth, um eine statische Zahl zurückzugeben, und erstellen Sie dann Geth neu. Beispiel:

func CalcDifficulty(config *ChainConfig, time, parentTime uint64, parentNumber, parentDiff *big.Int) *big.Int {
    return big.NewInt(0x4000)
}

Quelle: Antwort auf Ist es möglich, die Blockzielzeit zu ändern?

Ist dies immer noch die einzige Möglichkeit, die Schwierigkeit zu verringern?
@ ThorkilVærge Ich werde normalerweise nicht antworten / antworten, wenn ich es nicht weiß. Aber ich tue dies hier, da ich die Frage nicht ignoriere und ermutigen würde, wenn es neue Antworten gibt.

Wenn es sich um eine private Kette handelt, können Sie difficultyim Genesis-Block definieren.

Etwas wie das

{
  "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x4000",
    "alloc": {},
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "Custem Ethereum Genesis Block",
    "gasLimit": "0xffffffff"
}

Hier ist eine gute Lektüre zum Einrichten von Testnet

Ich habe nur dieses Format verwendet. Anfangs ist das Mining schnell, aber mit der Zeit nimmt die Schwierigkeit zu und das Mining geht sehr langsam.
Die Schwierigkeit wird automatisch angepasst, sodass die durchschnittliche Blockzeit innerhalb der fest codierten Zeit in Ethereum liegt. Die Schwierigkeit, die Sie in der Genesis-Datei angeben, ist nur die Startschwierigkeit. Um die Schwierigkeit statisch zu machen, müssen Sie den Quellcode ändern.
@dragosb ja, aber OP fragt nicht nach den dynamischen Einstellungen.
Was der Genesis-Block mit Schwierigkeiten zu tun hat, da es nur darum geht, eine anfängliche Blockchain zu erstellen. Die Schwierigkeit wird mit dem CalcDifficulty-Algorithmus gemessen.
@Himanshusharma Das verstehe ich. OP fragt nach der Erstellung der Ersteinrichtung.