Quiero enviar 100wei a una función de pago en mi contrato implementado. Pero no quiero firmar la transacción debido a mucho esfuerzo para que esto funcione. Solo quiero enviar la transacción con metamask. Por lo tanto, necesito el comando web3 correcto para llamar a mi método 'depositFunds' y enviar 100 wei. Actualmente tengo este comando, pero francamente recibo un error.myContractInstance.depositFunds().sendTransaction({from: web3.eth.accounts[0], gas: 3000000, value: 100}, function(err, res){});
¿Qué tengo que cambiar para que esto funcione?
Puede llamar al método directamente de la siguiente manera sin sendTransaction
:
myContractInstance.depositFunds({from: web3.eth.accounts[0], gas: 3000000, value: 100}, function(err, res){});
Aquí hay un tutorial que escribí sobre la interacción con contratos inteligentes usando MetaMask. Llamar a una función de pago es lo mismo que esto, solo agregue un valor a la transacción:
https://medium.com/metamask/llamando-a-un-contrato-inteligente-con-un-boton-d278b1e76705
Necesitará la dirección del contrato y su ABI para llamar a un método.
ismael