Estoy creando una dApp simple que envía fondos de una cuenta a otra usando Truffle + MetaMask en testrpc. En mi app.js, tengo una función pay() que llama
web3.eth.sendTransaction({from: account1, to: account2, value: web3.toWei(amount,"ether")}
Cuando la función se activa a través de la página HTML y la transacción aparece en MetaMask, los fondos se deducen de la cuenta 1 pero no aparecen en la cuenta 2. Creo que podría deberse a que el contrato no se ha extraído correctamente o MetaMask es lento. Sin embargo, la extensión de Chrome muestra el contrato como "Publicado", no como "Pendiente".
Si realizo el mismo comando a través de la consola de truffle, la transacción se procesa de manera adecuada y puedo verificar que el valor se transfirió de la cuenta 1 a la cuenta 2. ¿Cómo puedo arreglar esto? He intentado reiniciar Chrome.
Enlace a mi archivo app.js: https://gist.github.com/jw122/bda506dc831e200ac5eb397b36cb2db5
Enlace al contrato de solidez: https://gist.github.com/jw122/c561c8059ca239df6623db9080805634
Implemento el contrato en 2_deploy_contract.js con:
deployer.deploy(Purchase, web3.eth.accounts[1], web3.eth.accounts[2], {from: web3.eth.accounts[0], gas: 4000000});
Parece estar relacionado con la última versión de Google Chrome (59.0.3071.115). Estoy experimentando los mismos problemas que tú. Metamask actúa como si pasara el Tx, pero no aparece nada en la salida de testrpc.
La página de problemas de Metamask gituhub también está sintiendo el dolor. Vea los enlaces a continuación.
https://github.com/MetaMask/metamask-plugin/issues/1705 https://chromereleases.googleblog.com/2017/06/stable-channel-update-for-desktop_26.html
jwu
cZanja
jwu
eth_sendRawTransaction Transaction: <address> Contract created: <address> Gas usage: 0xcf08 Block Number: 0x09 Block Time: Thu Jul 06 2017 19:51:33 GMT-0300 (-03)
Entonces parece que hay un registro en la consola. Pero cuando hago sendTransaction() directamente en la consola, informa eth_sendTransaction en lugar de eth_sendRawTransactioncZanja
web3.eth.getTransactionReceipt(<address>)
y ver lo que dice? Además, ¿tiene una idea general a la que pueda vincular el código que tiene?jwu
cZanja
jwu
{ transactionHash: '0x177f4464ee67ee75a3837a4dde9fb62608f90a853077cf693113047d49fc7bef', transactionIndex: 0, blockHash: '0x0d2c54d168cbd51f97229178525cd8fe225bb1291aaadab506c438268e4506f2', blockNumber: 21, gasUsed: 53000, cumulativeGasUsed: 53000, contractAddress: '0x4ad6a1f565935c93153c5ec7747e0b1c42bb556a', logs: [] }