Ethereum POA (prueba de autoridad) para red privada

Estoy tratando de configurar una red privada en ethereum con POA, pero no puedo hacerlo. obtener debajo del errorERROR DE POA

He intentado usar el administrador de marionetas para configurar el archivo de génesis. El archivo de génesis está configurado para usar clique como algo. Recorte del archivo de génesis genesis.json, entiendo por el error que está relacionado con el sellado/sellador del bloque... pero, ¿cómo definir las cuentas que se pueden usar para sellar? Cualquier puntero en la dirección correcta sería útil

Respuestas (3)

¿Ha creado alguna cuenta de sellador antes de crear el archivo de génesis?

si no, cree al menos una cuenta de sellador primero ejecutando lo siguiente:

geth account new --datadir /path/to/your/custom/datadir

Anote la dirección que esto genera, luego, cuando ejecute marionetas, puede agregar esta dirección a la lista predefinida de cuentas de selladores durante el proceso de creación de génesis.

Una vez hecho esto, puede inicializar geth con el nuevo archivo genesis.json:

geth --datadir /path/to/your/custom/datadir init genesis.json

luego, una vez que esté en funcionamiento, debe desbloquear esa cuenta:

personal.unlockAccount(eth.accounts[0], "<password>", 0)

(nota "0" arriba mantendrá la cuenta desbloqueada permanentemente, o puede especificar un intervalo de tiempo en segundos)

Luego, para iniciar la minería en un solo núcleo, escriba lo siguiente en la consola:

miner.start(1)

y debería ver el sellado de bloques como prueba de una minería exitosa muy pronto.

Simplemente desbloquee su cuenta con

personal.unlockAccount(eth.cuentas[0], "Contraseña", 86400)

Nota: El último parámetro es el tiempo para dejar la cuenta desbloqueada en segundos.

Luego, comienza la minería.

minero.start();

no ese no es el problema la cuenta ya esta desbloqueada
Cuando usó marionetas para crear Genesis.json, asegúrese de que la cuenta que autorizó para ser el sellador sea la misma que la cuenta que desbloqueó. Intente especificarlo en un nuevo directorio de datos y vea si eso cambia algo
FYI, si establece ese último parámetro en cero, permanecerá desbloqueado hasta que cierre la consola.

Pasos para obtener un nodo minero en su cadena de bloques PoA:

  • Crear cuenta: geth --datadir=. cuenta nueva
  • Crear génesis json usando marionetas
  • Modificar génesis json. Configure los selladores en el campo extraData en genesis.json:
    • 0x00... (64 ceros) al principio
    • cuenta (sin 0x) (pega todas las cuentas que quieras configurar como selladores)
    • 00.. (130 ceros) al final
  • ejecute el nodo, desbloqueando esta cuenta, --unlock=(cuenta). Usa también el parámetro --mine