Ich möchte signierte Ethereum-Transaktionen aus einem NodeJS-Programm ausführen. Ich erstelle einen web3_provider wie diesen
var contract = require("truffle-contract");
var provider = new HDWalletProvider("nemonic", "https://rinkeby.infura.io/xxxxx");
// if I change the above line to: var provider = new Web3.providers.HttpProvider("https://rinkeby.infura.io/xxxxx");
// Everything works fine
var web3 = new Web3(provider);
var myContract = contract(myABI);
myContract.setProvider(web3.currentProvider);
Wenn ich versuche, Transaktionen mit HDWalletProvider auszuführen, erhalte ich die Fehlermeldung: "Konto nicht gefunden". Konnte jemand mit HDWalletProvider signierte Transaktionen erfolgreich ausführen? Oder benutze ich es falsch?
Stellen Sie sicher, dass var HDWalletProvider = require("truffle-hdwallet-provider");
es korrekt installiert und erforderlich ist. npm install truffle-hdwallet-provider --save
wird das Modul installieren.
Zweitens ist Ihre "nemonische" Phrase falsch formatiert. Eine Seed-Nemonic sollte so aussehen: retreat attack lift winter amazing noodle interest dutch craft old solve save
und ist wahrscheinlich die Ursache für Ihren Fehler.
Dies ist die Codesyntax, die ich immer in JS für HDWallet Provider verwende. Funktioniert jedes mal gut.
provider: () => new HDWalletProvider(secret, "http://IP_address:Port"),
Hinweis: Ich verwende http, nicht http(s)
Test1 Test2
gefährliches Essen
gefährliches Essen
Test1 Test2