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?
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)
};
Für öffentliche Netzwerke haben die eipxxx
Deklarationen (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 eipxxx
in 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. eip100Transition
wird 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 eipxxx
Einträge auf 0
bewirkt, 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.)
Stein.212