Tengo una cadena privada de varios nodos y recientemente tuve que cambiar el networkId y el ChainID en el bloque de Génesis para que coincidieran con el fin de obedecer los requisitos de Metamask.
Ahora que realicé esos cambios y volví a implementar, funcionó bien para mí localmente, pero mis nodos Geth dockerizados no pueden "Sellar con éxito un nuevo bloque", pero pueden "Confirmar un nuevo trabajo de minería". A continuación se muestra el siguiente Dockerfile:
FROM ethereum/client-go:v1.7.2
RUN mkdir -p /root/myChain/
WORKDIR /root/myChain
COPY Genesis.json /root/myChain/
RUN geth \
--identity "myChainNode" \
init \
--datadir "/root/.ethereum/myChain/" \
"/root/myChain/Genesis.json" \
--ipcdisable \
--mine --autodag --networkid 777 --nat "any" --gasprice "3000000"
EXPOSE 30303
EXPOSE 8545
ENTRYPOINT geth \
--identity "myChainNode" \
--datadir "/root/.ethereum/myChain/" \
--ipcdisable \
--networkid 777 \
--rpcapi eth,web3,net,personal \
--rpc --rpcaddr "0.0.0.0" --rpcport "8545" \
--rpccorsdomain "*" \
--nat "any" \
--port "30303" \
--etherbase "<myPublicAddress>" \
--ws --wsport "8546" --wsaddr="0.0.0.0" --wsorigins "*" \
--mine \
console
Cuando yo miner.start()
o miner.start(8)
la respuesta es null
que estoy conectado a pares en mi cadena privada y mi tasa de hash sigue siendo 0.
AWS tiene los puertos 30303 y 8545 apropiados abiertos para mi EC2 ejecutándolo.
Mi nodo local está minando a la perfección y su script de ejecución se ve así:
sudo geth \
--identity "myChainNode" \
--datadir "~/Library/Ethereum/myChain" \
--ipcdisable \
--etherbase "<myPublicAddress>" \
--networkid 777 \
--rpcapi eth,web3,net,personal \
--rpc --rpccorsdomain "*" \
-rpcport "8545" \
--verbosity 3 \
--ws --wsport "8547" --wsorigins "*" \
--mine \
console
¿Alguna idea?
Descubrí que la razón por la que sucedió esto es la siguiente:
Cuando creé por primera vez la cadena privada, ejecuté la inicialización con un ID de red diferente. Como mencioné en los comentarios, terminé cambiándolo debido a los requisitos de metamáscara para que CustomRPC tenga el ID de red y el ID de cadena coincidentes.
Si decidió cambiar su ID de red después de comenzar su cadena, debe asegurarse de que Geth Init use su ID de red original y luego, cuando ejecute/abra su nodo Geth, coloque su nuevo ID de red. La cadena se inicializó en todos sus otros nodos y no se extraerá correctamente ya que no se puede sellar sin tener la misma configuración de inicio.
Un minero requiere una cuenta desbloqueada para sellar. Parece que olvidaste desbloquear la cuenta.
aquamansam
Ayushya
aquamansam
Ayushya
WARN [03-27|06:49:17] Block sealing failed err="authentication needed: password or unlock"
aquamansam
Ayushya