¿Cómo hacer que la dificultad de minería de Ethereum sea estática para una cadena privada?

Implementé una cadena privada en ethereum, pero su nivel de dificultad aumenta con el tiempo, como resultado, el proceso de minería se ralentiza. ¿Es posible hacer que la dificultad sea estática o deshabilitarla en testnet?

Aquí puedes ver toda la explicación para hacerlo: blog.coinfabrik.com/…

Respuestas (2)

Modifique CalcDifficultyen Geth para devolver un número estático, luego reconstruya Geth. Ejemplo:

func CalcDifficulty(config *ChainConfig, time, parentTime uint64, parentNumber, parentDiff *big.Int) *big.Int {
    return big.NewInt(0x4000)
}

Fuente: Respuesta a ¿Es posible cambiar el tiempo objetivo del bloque?

¿Sigue siendo esta la única manera de disminuir la dificultad?
@ThorkilVærge Por lo general, no responderé/responderé si no lo sé. Pero lo hago aquí porque no estoy ignorando la pregunta, y alentaría si hay nuevas respuestas.

Si es una cadena privada, puede definirla difficultyen el bloque de génesis.

Algo como esto

{
  "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty": "0x4000",
    "alloc": {},
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "Custem Ethereum Genesis Block",
    "gasLimit": "0xffffffff"
}

Aquí hay una buena lectura de Cómo configurar testnet

Solo he usado este formato. Inicialmente, la minería es rápida, pero a medida que pasa el tiempo, la dificultad aumenta y la minería va muy lenta.
La dificultad se ajusta automáticamente para que el tiempo de bloque promedio esté dentro del tiempo codificado en ethereum. La dificultad que especifique en el archivo de génesis es solo la dificultad inicial. Para hacer que la dificultad sea estática, debe modificar el código fuente.
@dragosb sí, pero OP no solicita la configuración dinámica.
qué bloque de génesis tiene que ver con la dificultad, ya que es solo para crear la cadena de bloques inicial. la dificultad se mide con el algoritmo CalcDifficulty.
@Himanshusharma lo entiendo. OP pregunta sobre la creación de la configuración inicial.