Intentando enviar una transacción firmada a través del navegador web usando ethereum-tx

Estoy trabajando para firmar y enviar una transacción usando web3 v1.0 e Infura.io. He configurado un script para ejecutar el TX, pero parece que no puedo hacer que ethereum-tx se conecte en el navegador.

<script src="https://cdn.jsdelivr.net/gh/ethereum/web3.js@1.0.0-beta.34/dist/web3.min.js"></script>
<script src="js/ethereum-tx.js"></script>

Descargué ethereum-tx.js de github y referencia, pero sigo recibiendo el error TX no está definido.

var transaction = new TX(txData);

¿Ethereum-tx no funciona en el navegador? Funciona en la máquina local después de realizar la instalación de npm.

Aquí está el enlace a la descarga que estoy usando:

https://github.com/ethereumjs/browser-builds/blob/master/dist/ethereumjs-tx/ethereumjs-tx-1.3.3.min.js

Respuestas (1)

Veo dos elementos que podrían ayudar a resolver su problema:

  • Estás llamando new TX(txData)en lugar de la forma recomendada new EthereumTx(txParams). Ahora, esto podría ser simplemente para nombrar diferentes variables de su lado, pero apegarse a los estándares a menudo es útil en la depuración.
  • Además, ethereumjs-txdepende de algunas capacidades de JS ES6, que no siempre son compatibles con los navegadores. Por lo tanto, puede usar los llamados shims , que parchean las capacidades faltantes del navegador. En ethereumjs-txparticular, hay un descargo de responsabilidad que debe considerar usar esta cuña .

¡Espero que esto ayude!