Parameter "difficultyHardforkTransition" definieren?

Ich habe alle mir bekannten Glossare nach Genesis-/Kettenspezifikationsdateien durchgesehen, aber ich sehe dieses nicht. Kann mir jemand sagen, was "SchwierigkeitHardforkTransition" bedeutet?

Antworten (1)

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 0x59d9in 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- MasterZweig 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_transitionund 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.

Vielen Dank dafür, aber ich lese und lese dies seit ungefähr 30 Minuten und weiß nicht, was es sagt. Zum Beispiel: Was ist ein "gebundener Divisor"? Was ist eine "Grenze" für diese Angelegenheit? Und "Hardfork"? Ich bin nicht dumm, ich kenne nur diese sehr spezifische Terminologie nicht. Ich denke, dieser Code zeigt, dass "difficulty_hardfork" so ausgewertet wird, als ob es größer oder gleich "difficulty_hardfork_transition" ist, aber das sagt mir nicht, was "difficulty_hardfork_transition" ist.
PS Ich weiß natürlich, was eine Hard Fork im Allgemeinen ist. Aber wie gilt es hier. Auf welchen Fork wird verwiesen? Usw.