Tengo MetaMask funcionando muy bien, ¡es genial! Sin embargo, tengo un formulario (de reacción) que recopila mucha información y crea 14 llamadas distintas a sendTransaction
. Por lo tanto, (actualmente) obtengo 14 ventanas emergentes de MetaMask que me piden que acepte esas transacciones. De hecho, exactamente como esta situación: https://github.com/MetaMask/metamask-plugin/issues/1000
... que veo que fue 'resuelto'. Entonces, sé que es posible procesar lotes de solicitudes, pero mi pregunta es ¿cómo? Básicamente, ¿cómo debo formar la sendAsync
llamada? Por ejemplo, digamos que tuve estas tres transacciones:
myContractObject.doSomething(name,type)
myContractObject.doSomethingElse(hash)
myContractObject.doSomethingElseEntirely(key)
¿ Cómo se vería mi llamada web3.currentProvider.sendAsync
?
Puede utilizar la función web3 de solicitud por lotes .
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();
Detectó un error legítimo en MetaMask, lo abrí en el repositorio github de MetaMask (que es donde rastreamos los errores y los cerramos), aquí:
guardián del resplandor
DanF
greg jeanmart
guardián del resplandor