Wie wird eip100 in der Paritätskettenspezifikation angegeben?

Wie kann ich EIP100 in eine Paritätsketten-Spezifikationsdatei aufnehmen?

Ich sehe es nicht in der Standarddatei hier zum Kopieren: https://github.com/paritytech/parity/blob/master/ethcore/res/ethereum/foundation.json

Ich glaube, ich füge einfach hinzu:

"eip100Übergang":

Oder ist es eip100dTransition? mit "d"?

Kann jemand bestätigen?

Antworten (2)

Scheint eip100bTransition in Parity zu sein. Sehen Sie hier , wo die Berechnung im Code implementiert ist.

parity/ethcore/src/ethereum/ethash.rs Zeile 369:

let (increment_divisor, threshold) = if header.number() < self.ethash_params.eip100b_transition {
    (self.ethash_params.difficulty_increment_divisor, 1)
} else if parent_has_uncles {
    (self.ethash_params.metropolis_difficulty_increment_divisor, 2)
} else {
    (self.ethash_params.metropolis_difficulty_increment_divisor, 1)
};
Danke schön. Jetzt kenne ich auch eine Möglichkeit, eine Github-Codebasis zu durchsuchen (ohne Herunterladen und Grep-ing), also nochmals vielen Dank.

Für öffentliche Netzwerke haben die eipxxxDeklarationen (zum Beispiel) folgende Form:

"eip140Transition": 4370000,
"eip211Transition": 4370000,
"eip214Transition": 4370000,
"eip658Transition": 4370000,

Das heißt, Sie deklarieren den Übergang und den Block, an dem der Übergang aufgetreten ist. (Block 4370000 entspricht der Byzantium Hard Fork.)

Im Code können Sie dann eipxxxin Bedingungen verwenden, um Codepfade auszuführen, die sich nach den Übergängen ändern (durch Vergleich mit der aktuellen Blocknummer).


Zurück zu eip100Transition. Erstens ist mir nicht klar, dass der Code für EIP-100 tatsächlich abgeschlossen/festgeschrieben wurde. eip100Transitionwird weder in der Parity- noch in der Geth-Codebasis verwendet.

Zweitens besteht in einem privaten Netzwerk, das keine Hard Forks wie das öffentliche Netzwerk hat, keine Notwendigkeit, die EIP-Übergänge einzubeziehen. Sie können den Code einfach so definieren, wie er sich verhalten soll. Außerdem glaube ich, dass das Setzen der eipxxxEinträge auf 0bewirkt, dass Ihre Kette so funktioniert, als ob der Übergang bereits stattgefunden hätte. (d. h. der Übergang „erfolgte“ bei Block 0, sodass alle nachfolgenden Blöcke nach dem Übergang berücksichtigt werden.)

Scheint eip100bTransition in Parity zu sein. Sehen Sie hier , wo es verwendet wird.
@benjaminion Ich stimme zu und ich habe es im Paritätscode gesehen. Ich denke, Ihre zweite Meinung gilt als Bestätigung. Wenn Sie eine Antwort geben, werde ich sie als richtig markieren.
@Richard Horrocks Vielen Dank für die Antwort. Das war lehrreich und vor Wochen hätte ich das meiste von dem, was Sie geschrieben haben, nicht gewusst. Aber Ihre Antwort spricht nicht zu meiner Frage, die lautete: "Ist es eip100dTransition? Mit einem "d"?" Benutzer benjaminion hat jedoch geantwortet, also ist alles in Ordnung.