Go-Ethereum
使用多個帳戶創建自己的錢包時出現問題
我有一個本地區塊鏈,我在其中部署了契約。我想與它互動,同時發送多個響應。對於這個提議,我不能使用 Metamask 來確認每筆交易。我需要創建自己的錢包並發送已簽名的 tx。我有自己的錢包,賬戶使用
ethers.js
:var password = "xxxx"; var json = JSON.stringify(data); //data = content of the keystore file of an account ethers.Wallet.fromEncryptedWallet(json, password).then(function(wallet) { App.Wallet = wallet; App.Wallet.provider = new ethers.providers.JsonRpcProvider(`http://localhost:3002`, { chainId: 15 }); }); var account = App.Wallet.address; let rawtx = {from: App.Wallet.address, to: App.contracts.MyContract.address, gasPrice: 18000000000, gasLimit: 20000000000, data: getdata } var signedTransaction = App.Wallet.sign(rawtx); var transaction = ethers.Wallet.parseTransaction(signedTransaction); var sendTransactionPromise = App.Wallet.sendTransaction(transaction); sendTransactionPromise.then(function(transactionHash) { console.log(transactionHash); });
它有效,但只有一個帳戶。有沒有辦法創建一個有多個帳戶的錢包?或者我如何使用自己的錢包從不同賬戶發送多筆交易?
我正在嘗試只使用for,但它有點臟,而且我的瀏覽器沒有正確響應,每次我呼叫
ethers.Wallet.fromEncryptedWallet
每個帳戶時,程序都被破壞了。我也在嘗試,web3.eth.accounts.wallet
但我總是得到錯誤“未定義”,我正在使用 web3 1.0。
如果您打開不同的錢包,您應該能夠擁有多個錢包。
提高性能的一種選擇是從助記符創建自己的錢包。必須解密錢包可能會使您的瀏覽器看起來沒有響應。
其他選項是在命令行中從 Node 執行。Node 可以訪問加速某些加密操作的本地庫。