Ich erhalte einen Fehler bei der Verwendung von web3.eth.personal.sign, wobei ich mich darüber beschwere, dass der Aufruf "0 Argumente erwartet, aber 3 erhalten" hat. Ich nenne es in einer Angular/Typescript/Javascript-Umgebung:
this.bottleSig=this.web3.eth.personal.sign(this.bottleDataToSign, this.addressProd, this.passwordProd);
Ich verwende eine neuere Version des npm web3-Pakets: 1.0.0-beta.33. Ich folge der Dokumentation unter http://web3js.readthedocs.io/en/1.0/web3-eth-personal.html . Ich stöberte unter .../node_modules herum und sah mir verschiedene web3*-Verzeichnisse an, aber nichts Offensichtliches sah falsch aus, zumindest für mich. Unter node_modules/web3-eth-personal/src/index.js sieht es so aus, als ob 3 Argumente erwartet werden sollten:
new Method({
name: 'sign',
call: 'personal_sign',
params: 3,
inputFormatter: [formatters.inputSignFormatter, formatters.inputAddressFormatter, null]
}),
Jede Suche liefert sehr wenige Ergebnisse, die hier nicht anwendbar zu sein scheinen. Irgendwelche Gedanken darüber, was falsch ist? Wie zu beheben/Problemumgehung? Müssen Sie seit der Beta nur warten, bis "behoben"? Vielen Dank.
Aktualisieren:
Außerdem sehe ich in node_modules/web3/types.d.ts:
export deklarieren Klasse Eth . . . persönlich: Persönlich
export deklariert die Klasse Personal . . . Zeichen()
Kommt hier die Erwartung von 0 Argumenten her?
Update2:
Dieser Link scheint einige Lösungen zu bieten, aber ein bisschen zu tief in Direktiven und Controller für mich!
Sieht so aus, als wäre types.d.ts
das unvollständig. Wenn Sie Angular verwenden, beschwert sich meiner Meinung nach die TS-Kompilierung. (Wenn Sie es einfach ausführen könnten, würde es funktionieren, weil Sie es richtig verwenden.)
Sie können diese Theorie testen, indem Sie diese Datei ändern types.d.ts
(sieht aus wie Zeile 465 in class Personal
) zu:
sign(dataToSign: string, address: string, password: string, cb?: Callback<string>): Promise<string>
Wenn das funktioniert, stimmt die Theorie und die Datei/das Paket muss nur noch vervollständigt werden.
Luis Soares
gkd720
Luis Soares