Privates Netzwerk - Alle Transaktionen und Verträge enden mit Fehlern

Ich habe auf meinem Computer eine private Blockchain mit dieser Konfiguration in genesis.json eingerichtet:

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

Nach dem Initialisieren der Blockchain, dem Erstellen eines Knotens, dem Anhängen der Geth-Konsole und dem Erstellen des ersten Kontos mit Miner funktioniert alles einwandfrei. Der Bergmann schürft und das Ethereum-Guthaben auf dem Konto steigt.

Wenn ich mich jedoch ethereumwalletmit diesem privaten Netzwerk verbinde, kann ich keine Transaktionen oder Verträge erstellen. Ich habe versucht, die maximale Gebühr zu ändern, erhalte aber nur einen dieser Fehler:

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

Warum passiert das und wie können diese Probleme gelöst werden?

Bearbeiten: Ich sollte genug Ethereum haben - auf meinem ersten Konto gibt es 5.740,00 Ether und ich versuche, nur 50,00 Ether an ein anderes Konto mit 0,00 Ether darauf zu senden.

Sind Sie sicher, dass Sie das Konto, von dem Sie senden möchten, verbunden/entsperrt haben? Haben Sie versucht, die Transaktion mit der Geth-Konsole (z. B. web3.eth.sendTransaction) zu senden, um zu sehen, ob Sie Transaktionen erfolgreich an die Blockchain senden können, und um zu bestätigen, ob der Fehler auf der Clientseite liegt?
Gelöst, dass es dadurch verursacht wurde, dass chainId auf Null gesetzt wurde.
Beachten Sie, dass Sie den Kontostand in Weis und nicht in Ethern eingerichtet haben.

Antworten (3)

Es sieht so aus, als hätten Sie in Ihrer Genesis-Konfigurationsdatei Null gesetzt.

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

Das Ändern der chainId auf etwas anderes als 0 hat bei mir funktioniert. Daran hing ich einige Stunden fest. Danke Kostrahb!

Ich verstehe nicht warum, aber der Fehler war tatsächlich in genesis.json.

Das Problem wurde durch chainIddas Setzen auf Null verursacht. Ich habe es in eine beliebige Ganzzahl geändert und meine private Blockchain funktioniert jetzt wie erwartet.

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