Paridad y nodo Geth como pares

Estoy ejecutando un ethereum (con geth) y una instancia de paridad en 2 nodos, usando archivos de génesis similares para ambos. También especifiqué el ID de enodo del nodo geth como bootnode para la paridad. Sin embargo, los 2 nodos no pueden detectarse entre sí.

geth.genesis:

{
"nonce": "0x0000000000000042",
"difficulty": "0x4",
"alloc": {
    "6a5b342ec71def8aac337b82969d9ddd811023c9": {
        "balance": "5000000000000000000000000"
    }
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x1100000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0xFFFF0000"
}

paridad.génesis:

{
"name": "node",
"engine": {
      "Ethash": {
              "params": {
                      "gasLimitBoundDivisor": "0x0400",
                      "minimumDifficulty": "0x4",
                      "difficultyBoundDivisor": "0x0800",
                      "durationLimit": "0x0a",
                      "blockReward": "0x4563918244F40000",
                      "registrar": "",
                      "frontierCompatibilityModeLimit": "0x0"
              }
      }
},
"params": {
      "accountStartNonce": "0x0000000000000042",
      "maximumExtraDataSize": "0x20",
      "minGasLimit": "0xFFFF0000",
      "networkID" : "0x16"
},
"genesis": {
      "seal": {
              "ethereum": {
                      "nonce": "0x0000000000000042",
                      "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
              }
      },
      "difficulty": "0x4",
      "author": "0x0000000000000000000000000000000000000000",
      "timestamp": "0x00",
      "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "extraData": "0x1100000000000000000000000000000000000000000000000000000000000000",
      "gasLimit": "0xFFFF0000"
},
"nodes": [
],
"accounts": {
      "6a5b342ec71def8aac337b82969d9ddd811023c9": { "balance": "5000000000000000000000000" }

¿Alguien tiene una idea de lo que podría estar yendo mal? Incluso probé la ruta de copiar parity.genesis a geth.genesis pero fue en vano. Sin embargo, puedo conectar con éxito 2 nodos geth o 2 nodos de paridad entre sí.

Si agrega los nodos entre sí, ¿cuál es el resultado del registro?
¡Sorprendentemente, agregar manualmente el nodo de paridad con admin.addPeer() en geth cli funciona! ¿Cuál puede ser la razón de este comportamiento?
Sin embargo, el compañero de paridad se desconectó una vez que comencé a extraer bloques en geth, con el siguiente registro 2017-01-09 21:17:45 Stage 1 block verification failed for 6fd5…b968: Block(InvalidGasLimit(OutOfBounds { min: Some(4294901760), max: None, found: 4290707521 })). De hecho, el límite de gas del bloque disminuyó de 4294901760 en el bloque 0 a 4290707521 en el bloque 1. ¿Cuál puede ser la razón de este comportamiento?
¿Está definiendo el límite de gas objetivo cuando ejecuta geth?
No, no estoy definiendo otros parámetros aparte de los de los archivos de génesis que se muestran arriba.
minGasLimitEliminé el parámetro de parity.genesis . Lo siguiente que obtengo es Stage 3 block verification failed for #1 (2441…723b) Error: Block(InvalidDifficulty(Mismatch { expected: 4, found: 131072 })). Al examinar los bloques, vi que el bloque 0 comenzaba con una dificultad de 4 y luego el bloque 1 tenía un valor de dificultad de 131072.

Respuestas (1)

La conexión se caerá si están en diferentes cadenas, puede ejecutar Parity -lsync=tracepara ver qué está pasando.

Probablemente tenga que ver con transiciones de bifurcaciones duras, Geth no las incluye por defecto. Eche un vistazo aquí e intente usar el generador vinculado .

¡Muchas gracias! Había convertido manualmente el archivo al formato de paridad, sin conocer esta herramienta. Si es posible, sería útil tener una versión en línea, como Parity Config Generator , ya que requiere que se instalen muchas cosas para un solo uso.