Частная сеть - все транзакции и контракты заканчиваются ошибкой

Я настроил частный блокчейн на своем компьютере с этой конфигурацией в 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"
}

После инициализации блокчейна, создания узла, подключения консоли geth и создания первой учетной записи в майнере все работает нормально. Майнер занимается майнингом и баланс эфириума на счету растет.

Однако, если я подключусь ethereumwalletк этой частной сети, я не смогу создавать какие-либо транзакции или контракты. Я пытался изменить максимальную комиссию, но получаю только одну из следующих ошибок:

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

Почему это происходит и как можно решить эти проблемы?

Редактировать: у меня должно быть достаточно эфириума - на моей первой учетной записи есть 5740,00 эфира, и я пытаюсь отправить только 50,00 эфира на другую учетную запись с 0,00 эфира на нем.

Вы уверены, что подключились/разблокировали учетную запись, с которой хотите отправить? Пробовали ли вы отправить транзакцию с помощью консоли geth (например, web3.eth.sendTransaction), чтобы увидеть, можете ли вы успешно отправить транзакции в блокчейн и подтвердить, что ошибка на стороне клиента?
Решено, это было вызвано тем, что chainId был установлен на ноль.
обратите внимание, что вы настроили баланс счетов в Weis, а не в Ethers.

Ответы (3)

Похоже, вы установили ноль в файле конфигурации генезиса.

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

Изменение chainId на значение, отличное от 0, сработало для меня. Я застрял на этом на несколько часов. Спасибо Кострахб!

Не понимаю почему, но ошибка действительно была в genesis.json.

Проблема была вызвана chainIdустановкой на ноль. Я изменил его на произвольное целое число, и теперь мой частный блокчейн работает, как и ожидалось.

{
  "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"
}