Ich folge einem Tutorial der Dapp University zum Erstellen von Election Smart Contracts. Wenn ich diesen Befehl in der Konsole ausführe:
app.vote(1, {from: web3.eth.accounts[0] })
Ich bekomme folgenden Fehler:
Thrown: <Error: The send transaction "from" field must be defined!
Ich weiß, dass "web3.eth.accounts" abgeschrieben wurde, und ich habe einige Möglichkeiten ausprobiert, um es zu lösen, aber bisher kein Glück.
Wie viele Argumente vote
benötigt die Methode? Bei web3.js
der Smart-Contract-Methode werden die Argumente zuerst interpretiert, und als letztes Argument werden Transaktionsoptionen erwartet, wie zum Beispiel:{ from, gas, gasPrice }
Wenn Sie eine andere Anzahl von Argumenten als erwartet angeben, wird versucht, das Feld aus einem Argument web3.js
zu finden , in dem es nicht vorhanden ist.from
Sie können auch versuchen, diese Zeile zu Ihrem Code hinzuzufügen, um sicherzustellen, dass sie noch funktioniert und noch nicht entfernt wurde.console.log('Account 0', web3.eth.accounts[0])
Dieser Fehler liegt daran, dass Sie account= übergeben ''
. (in der von:) Ich denke, das ist Ihre Web3-Version (können Sie die Version in der Konsole mit "web3.version" überprüfen) und mit Web3 1.xx können Sie versuchen: web3.currentProvider.selectedAddress
die Adresse zu erhalten .
gute Stimmung
Claudia