Go-Ethereum
MetaMask 使用 sendAsync 的批處理事務
我的 MetaMask 執行良好 - 太酷了!但是,我有一個(反應)表單,它收集了大量資訊並創建了 14 個不同的
sendTransaction
. 因此,我(目前)從 MetaMask 獲得 14 個彈出視窗,要求我接受這些交易。其實和這種情況一模一樣:https ://github.com/MetaMask/metamask-plugin/issues/1000……我看到這是’解決’。所以我知道可以批量請求,但我的問題是如何?基本上,我應該如何形成
sendAsync
通話?例如,假設我有這三個交易:myContractObject.doSomething(name,type) myContractObject.doSomethingElse(hash) myContractObject.doSomethingElseEntirely(key)
我的電話
web3.currentProvider.sendAsync
會是什麼樣子?
您可以使用**批量請求**web3 功能。
var batch = web3.createBatch(); batch.add(myContractInstance.doSomething(arg1, arg2, {from: account, gas: 4000000})); batch.add(myContractInstance.doSomethingElse(arg1, arg2, {from: account, gas: 4000000})); batch.add(myContractInstance.doSomethingElseEntirely(arg1, arg2, {from: account, gas: 4000000})); batch.execute();
您在 MetaMask 中發現了一個合法的錯誤,我在 MetaMask github 儲存庫(我們跟踪錯誤並關閉它們的地方)上打開了它,這裡: