У меня MetaMask прекрасно работает - это так здорово! Однако у меня есть (реагирующая) форма, которая собирает много информации и создает 14 различных вызовов sendTransaction
. Следовательно, я (в настоящее время) получаю 14 всплывающих окон от MetaMask, предлагающих мне принять эти транзакции. Собственно, ровно такая ситуация: 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 (где мы отслеживаем ошибки и закрываем их), здесь:
светлячок
DanF
Грег Джинмарт
светлячок