Red privada: todas las transacciones y contratos terminan con error

Configuré una cadena de bloques privada en mi computadora con esta configuración en genesis.json:

{
  "config": {
        "chainId": 0,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc" : {
        "0x0000000000000000000000000000000000000001": {"balance": "111111111"},
        "0x0000000000000000000000000000000000000002": {"balance": "222222222"}
  },
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x8000000",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}

Después de inicializar blockchain, crear un nodo, adjuntar la consola geth y crear la primera cuenta con el minero, todo funciona bien. El minero está minando y el saldo de ethereum en la cuenta está aumentando.

Sin embargo, si me conecto ethereumwalleta esta red privada, no puedo crear ninguna transacción o contrato. He intentado cambiar la tarifa máxima pero solo obtengo uno de estos errores:

Insufficient funds for gas*price+value.
Exceeds block gas limit.

¿Por qué sucede esto y cómo es posible resolver estos problemas?

Editar: debería tener suficiente ethereum: en mi primera cuenta hay 5,740.00 ether y estoy tratando de enviar solo 50.00 ether a otra cuenta con 0.00 ether.

¿Está seguro de que ha conectado/desbloqueado la cuenta desde la que desea enviar? ¿Ha intentado enviar la transacción usando la consola geth (por ejemplo, web3.eth.sendTransaction) para ver si puede enviar transacciones con éxito a la cadena de bloques y permitirle confirmar si el error está en el lado del cliente?
Se resolvió que fue causado por chainId establecido en cero.
tenga en cuenta que ha configurado el saldo de cuentas en Weis, no en Ethers.

Respuestas (3)

Parece que ha configurado cero en su archivo de configuración de génesis.

{
"config": {
    "chainId": 0,

Cambiar el chainId a algo que no sea 0 funcionó para mí. Estuve atascado en esto durante unas horas. Gracias Kostrahb!

No veo por qué, pero el error estaba en genesis.json.

El problema se debió a que chainIdse estableció en cero. Lo cambié a un número entero arbitrario y mi cadena de bloques privada ahora funciona como se esperaba.

{
  "config": {
        "chainId": 8888,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc" : {
        "0x0000000000000000000000000000000000000001": {"balance": "111111111"},
        "0x0000000000000000000000000000000000000002": {"balance": "222222222"}
  },
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x8000000",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}