Enviar wei a la función de pago con web3 async

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?

¿Cuál es el mensaje de error completo que obtienes?

Respuestas (2)

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.