Ich habe alle mir bekannten Glossare nach Genesis-/Kettenspezifikationsdateien durchgesehen, aber ich sehe dieses nicht. Kann mir jemand sagen, was "SchwierigkeitHardforkTransition" bedeutet?
Sieht so aus, als wäre dies schon eine Weile definiert worden - es ist kein neuer Code. Es scheint auch so, als ob der Wert 0x59d9
in der Parity-Spezifikation auf (= 23001) gesetzt ist, was keiner der öffentlichen Hard Forks entspricht. Dies ist im Geth-Code nicht definiert. Jemand vom Parity-Team hat vielleicht eine klarere Erklärung.
Suchen Sie im Parity- Master
Zweig in ethash.rs
:
/// Transition block for a change of difficulty params (currently just bound_divisor).
pub difficulty_hardfork_transition: u64,
calculate_difficulty()
Wird in der Funktion (auch in ethash.rs
) folgendermaßen verwendet :
let difficulty_hardfork = header.number() >= self.ethash_params.difficulty_hardfork_transition;
let difficulty_bound_divisor = if difficulty_hardfork {
self.ethash_params.difficulty_hardfork_bound_divisor
} else {
self.ethash_params.difficulty_bound_divisor
};
Also prüfen wir die aktuelle Blocknummer gegen den Wert in difficulty_hardfork_transition
und verwenden dann einen anderen gebundenen Divisor für die Berechnung der aktuellen Blockschwierigkeit, wenn wir hinter dem Block sind, in dem die Gabelung definiert wurde.
Sie können in dieser Funktion überprüfen, wie der gebundene Divisor normalerweise in der Schwierigkeitsberechnung verwendet wird. Wenn Sie sich einige Beispiel-Spezifikationsdateien ansehen , sieht es so aus, als ob der gebundene Divisor auf einen niedrigeren Wert gesetzt wird, wenn ein Fork auftritt.
Stein.212
Stein.212