¿Cómo especificar eip100 en la especificación de cadena de paridad?

En un archivo de especificaciones de cadena de paridad, ¿cómo puedo incluir EIP100?

No lo veo en el archivo predeterminado aquí para copiar: https://github.com/paritytech/parity/blob/master/ethcore/res/ethereum/foundation.json

Creo que simplemente agrego:

"eip100Transición":

¿O es eip100dTransition? con una "d"?

¿Alguien puede confirmar?

Respuestas (2)

Parece ser eip100bTransition in Parity. Vea aquí dónde se implementa el cálculo en el código.

parity/ethcore/src/ethereum/ethash.rs línea 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)
};
Gracias. Ahora también conozco una forma de buscar una base de código de Github (sin descargar ni hacer grep), así que gracias de nuevo.

Para redes públicas, las eipxxxdeclaraciones son de la forma (por ejemplo):

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

Es decir, declara la transición y el bloque en el que se produjo la transición. (El bloque 4370000 equivale a la bifurcación dura de Byzantium).

En el código, puede usar eipxxxcondicionales para ejecutar rutas de código que cambiarán después de las transiciones (comparando con el número de bloque actual).


Volver a eip100Transition. En primer lugar, no me queda claro si el código para EIP-100 se ha completado/comprometido. eip100Transitionno se usa en ninguna parte del código base de Parity o Geth.

En segundo lugar, en una red privada, que no tendrá las bifurcaciones duras que tenía la red pública, no es necesario incluir las transiciones EIP. Simplemente puede definir el código para que se comporte como quiere que se comporte. Además, creo que configurar las eipxxxentradas 0hará que su cadena funcione como si la transición ya hubiera ocurrido. (es decir, la transición "ocurrió" en el bloque 0, por lo que todos los bloques posteriores se consideran después de la transición).

Parece ser eip100bTransition in Parity. Vea aquí para saber dónde se usa.
@benjaminion Estoy de acuerdo y lo vi en el código de paridad. Supongo que tu segunda opinión cuenta como confirmación. Si lo convierte en una respuesta, lo marcaré como correcto.
@Richard Horrocks Gracias por responder. Eso fue educativo y hace unas semanas no habría sabido la mayor parte de lo que escribiste. Pero su respuesta no habla de mi pregunta, que era "¿es eip100dTransition? ¿con una "d"?" Sin embargo, el usuario benjaminion respondió, así que todo está bien.