Go-Ethereum

使用多個帳戶創建自己的錢包時出現問題

  • September 10, 2018

我有一個本地區塊鏈,我在其中部署了契約。我想與它互動,同時發送多個響應。對於這個提議,我不能使用 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 可以訪問加速某些加​​密操作的本地庫。

引用自:https://ethereum.stackexchange.com/questions/58388