Truffle
NodeJS 與 HDWalletProvider
我想從 NodeJS 程序執行簽名的乙太坊交易。我正在創建這樣的 web3_provider
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);
當我嘗試使用 HDWalletProvider 執行交易時,我收到錯誤消息:“找不到帳戶”。有沒有人能夠使用 HDWalletProvider 成功執行簽名交易?還是我使用不當?
確保
var HDWalletProvider = require("truffle-hdwallet-provider");
安裝正確且是必需的。npm install truffle-hdwallet-provider --save
將安裝模組。其次,您的“助記符”片語格式不正確。種子助記符應如下所示:
retreat attack lift winter amazing noodle interest dutch craft old solve save
並且可能是您出錯的原因。
這是我在 JS 中一直使用的 HDWallet Provider 的程式碼語法。每次都能正常工作。
provider: () => new HDWalletProvider(secret, "http://IP_address:Port"),
注意:我使用 http,而不是 http(s)