Me está costando mucho entender el genesis.json
archivo.
Suposición: me parece que sirve tanto para inicializar el primer bloque, como para establecer parámetros de configuración para el resto de la cadena. ¿Verdadero o falso?
Preguntas:
nonce
, mixHash
y coinbase
opciones para poner en el archivo genesis.json? ¿Para qué sirven si el primer bloque no se puede minar?alloc {}
sección? ¿O ese primer bloque se creó de alguna manera sin este archivo?Verdadero.
Tu pregunta es engañosa. Para ser un par de la red principal, necesita exactamente el mismo archivo de génesis que todos en la red. Si no, entonces no serás un compañero.
No lo creo, empezaste con un archivo de génesis específico, terminas con él o cambias completamente la cadena
mira esto
Porque para indicar si puede sincronizar, necesitamos una forma de saber si desea sincronizar con esta cadena específica. El archivo de génesis es como el ID de la cadena. Digamos que tengo 2 cadenas privadas, cada una con el mismo ID de cadena pero con una configuración diferente en el archivo de génesis: algunos de mis nodos se conectarán a la cadena A y otros a la cadena B, según la génesis que les di. Si intenta sincronizar con un par que tiene un archivo de génesis diferente, será rechazado.
En realidad, no "creas" el primer bloque. El archivo de génesis es solo una identificación y una descripción de la cadena ANTES del bloque 0.
Creo que tienes un malentendido entre el bloque y el archivo de génesis. Como se dijo anteriormente, el archivo de génesis es una descripción de la cadena ANTES del primer bloque. Si el archivo de génesis tiene algunas direcciones asignadas, el estado de la cadena tendrá estas direcciones con un saldo específico, a partir del bloque 0.
Aquí hay un ejemplo del primer bloque de una cadena privada, con direcciones preasignadas, como puede ver, es solo un bloque normal sin ninguna transacción. Lo único específico es parentHash. Como no existe pero proviene del archivo de génesis.
{
difficulty: 1024,
extraData: "0x",
gasLimit: 134217728,
gasUsed: 0,
hash: "0xd3f87ee4cf1e44bc4024a519d91b08efdf187fa05f3a7a39efd1e4f73c29426a",
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
miner: "0x0000000000000000000000000000000000000000",
mixHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
nonce: "0x0000000000000042",
number: 0,
parentHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
receiptsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
size: 507,
stateRoot: "0x041288fa59918e8775cddb418d92c1ef125438a1d9f2e4d481fae84ab85fcd22",
timestamp: 0,
totalDifficulty: 1024,
transactions: [],
transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
uncles: []
}
siempre cuestionando
Iteración 122442