Parity-Mining auf --chain dev für die Truffle-Migration

Ich verwende Parity, um eine benutzerdefinierte App zu erstellen, und verwende sie daher lokal auf --dev. "$ Truffle Migration" schlägt fehl, ich denke, weil kein Guthaben auf dem Konto vorhanden ist. Es sagt:

Fehler: Unzureichende Mittel. Das Konto, von dem Sie versucht haben, die Transaktion zu senden, tut dies nicht
genug Geld haben. Benötigte 471238800000000000 und bekam: 0.

Aber mit --dev sollte das kein Problem sein, oder? Die Transaktionen sollen funktionieren, ohne vorher geschürft zu werden? Oder sowas ähnliches?

Ich habe versucht, Genoil auszuführen, aber (a) ich glaube nicht, dass ich es auf --dev tun muss, und (b) es läuft sowieso nicht auf einem VPS ohne GPU.

Ich habe versucht, mich mit Geth Attach an Parity anzuhängen, und es stellt eine Verbindung her (weil eth.coinbase die richtige Adresse zurückgibt), aber dieser Benutzer hat 0 Guthaben. Außerdem sagt miner.start():

ReferenceError: „Miner“ ist nicht definiert
    bei :1:1

Ich rufe die Parität auf mit:

$ /path/to/parity --geth --chain dev --dapps-hosts="all" --dapps-apis-all --jsonrpc-hosts="all" --unlock 0x... --password DevUserPass.txt --author ...

Ich habe auch das Flag "--author" mit 0x ausprobiert, mit dem gleichen Ergebnis.


Daher habe ich ein paar verwandte Fragen:

1 - Wie verstehen Sie, dass die Option --chain dev bedeutet, dass Sie NICHT mit Parität minen müssen? Die Dokumente sind nicht wirklich klar.

2 - Wenn ich minen muss (als würde ich ein anderes Testnet verwenden), wie kann ich das auf einem VPS tun?

3 - Ist es möglich, dass Truffle angewiesen werden muss, die --chain dev Mining-Technik zu verwenden? Es verhält sich anders als eine normale Waage, muss also irgendwo angegeben werden?

Antworten (1)

Sie können keine devKette auf Parity minen, da sie keine Proof-of-Work-Engine ausführt. Stattdessen wird es ausgeführt, InstantSealwas im Grunde nur alle 2 Sekunden einen neuen Block erstellt, wenn Transaktionen verfügbar sind.

Die devKette ist mit einer wahnsinnigen Menge an Entwicklungs-Ether vorbelastet. Öffnen Sie einfach Ihre Brieftasche, gehen Sie zu Konten , klicken Sie auf die Schaltfläche Konto hinzufügen und dann auf Wiederherstellung und klicken Sie dann, ohne etwas einzugeben, auf OK .

Sie können auch mit ausführen --jsonrpc-api parity_accountsund den folgenden Aufruf in einem anderen Terminal ausgeben:

curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"parity_newAccountFromPhrase","params":["","password"],"id": 1}' localhost:8545

Der Trick ist, dass das Konto, das mit einer leeren Wiederherstellungsphrase wiederhergestellt werden kann, alle verfügbaren Token enthält. Das sollte für den Anfang reichen.

Lesen Sie hier mehr über die Konfiguration: Private-development-chain ; Lesen Sie hier mehr über die Engine: Consensus-Engines

Ja, das war es, was ich brauchte. Der Fehler ist weg (und jetzt habe ich einen neuen Fehler, aber das ist für einen anderen Thread.) Danke. Ich hoffe, es macht Ihnen nichts aus, aber ich möchte zwei Dinge für andere Leute mitteilen, die diese Antwort benötigen: 1) Das Flag ist -jsonrpc-apis 2) Das andere Verfahren ist: - Öffnen Sie die Benutzeroberfläche (Port 8180) - Wählen Sie "Accounts " - Wählen Sie "+ Konto" - Wählen Sie die Option Recovery Seed - Geben Sie KEINEN Seed ein. Klicken Sie einfach auf "Weiter" oder was auch immer - Klicken Sie schließlich auf "Fertig" und Sie haben ein Konto mit viel Geld.
Mir wurde gerade gesagt, dass die Entwicklungskette jeden Block akzeptiert, den Sie finden, also würde Mining theoretisch auch funktionieren.
Vielen Dank. Aber das Problem hier ist, dass Genoil auf einem kopflosen System (dh ohne GPU) nicht funktioniert, aber ansonsten denke ich, dass Sie zu 100% richtig liegen.