Das Bereitstellen von Verträgen auf privaten Knoten dauert ewig

Ich versuche, Verträge auf einem privaten Geth-Knoten bereitzustellen. Ich habe genug abgebaut, dass ich den Kontostand habe und der DAG erstellt wurde.

Hier sind die Netstats für den Knoten:

Geben Sie hier die Bildbeschreibung ein

Jetzt beginnen die Verträge mit der Bereitstellung, nehmen aber zu viel Zeit in Anspruch. Ich hänge seit mehr als 20 Minuten an dieser Nachricht fest:

Writing artifacts to ./build/contracts

Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x68c7b0fcefaf58e20607bfebe8e31bf2d490fa4474478f0ecd96e540c34d58d3

testrpcdauert Sekunden bei der Bereitstellung. Kann ich diese Bereitstellung auf irgendeine Weise beschleunigen? Ich stelle auf dem bootstrapKnoten bereit. Obwohl es bootstrapim Bild als offline angezeigt wird, wird es in einer Sekunde wieder angezeigt.

(Bearbeitet nach Antwort) Trüffel:

module.exports = {
  networks: {
    development: {
      host: "172.21.0.6",
      port: 8545,
      // Match any network id
      network_id: "*",
      from: "",
      gas: 4710000
    },
    ropsten: {
      host: "localhost",
      port: 8545,
      network_id: "3",
      from: ""
    }
  }
};
baust du? Sie müssen zuerst mit dem Mining beginnen, sonst bleibt der TX einfach im Pool
Ich begann mit dem Mining, und als der DAG fertig war und Blöcke erstellt wurden, stoppte ich ihn. Ich glaube nicht, dass ich sowohl Mining als auch Deployment mit demselben Konto durchführen kann, da Mining das Konto sperrt; Deshalb habe ich das Mining eingestellt.
Sie können gleichzeitig mit demselben Konto abbauen und bereitstellen. Miner selbst können sicherlich Transaktionen senden :)
Das bekomme ich jetzt hin Error: The contract code couldn't be stored, please check your gas amount.. Ich habe >600 eth und der Fehler ist immer noch da. Was kann ich tun?
Wie setzen Sie Ihren Vertrag um? Geben Sie, wenn möglich, den Bereitstellungscode an, der fehlgeschlagen ist
Ich habe die Frage bearbeitet. Meinst du diesen Code oder etwas anderes?

Antworten (2)

Sie müssen die Menge an Gas angeben, die Sie in Ihrer Datei „truffle.js“ ausgeben möchten, bis zu einem Maximum von 4710000.

Fügen Sie die Zeile: gas: 4710000zu Ihrer Netzwerkkonfiguration hinzu.

Wenn Sie exceeds block gas limitdie Gesamtgröße der Verträge erhalten, ist das reine Deployment pro Block zu groß.

Ich habe die Gasmenge in den Code eingefügt, es gibt immer noch die gleiche Fehlermeldung:Error: The contract code couldn't be stored, please check your gas amount.
Können Sie Ihre 2_migrationsDatei und den Vertrag, den Sie bereitstellen möchten, posten?
Außerdem bist du SICHER, dass du zu viel schürfst, oder? Das Mining ist das, was Ihren Vertrag tatsächlich zur Blockchain hinzufügt.
Ich habe es funktioniert. Ich verwende Docker und der eigentliche Grund für das Problem war eine Komplikation mit dem Image anstelle eines Netzwerkproblems. Jetzt kann ich mich mit dem Vertrag verbinden, aber es heißt nur: [TXS] Pending: 5 from: bootstrapanstatt tatsächlich etwas zu tun. bootstrapist das Docker-Image, das geth ausführt. Ich schürfte weiter, als ich Verträge einsetzte. Jetzt, da die Verträge erfolgreich bereitgestellt wurden, habe ich das Mining eingestellt. Wirkt sich das auf die Vertragsnutzung aus?

In Anbetracht all der Kommentare scheint es, dass Sie während der Bereitstellung nicht abbauen. JEDE Transaktion muss abgebaut werden. Beginnen Sie also mit dem Mining und das reicht.