¿Hay alguna forma de usar la clave privada de mi cuenta Metamask o Mist para firmar una transacción sin procesar?
No puedo usar ethereumjs-tx sin la clave privada, pero quiero poder usar Web3 inyectado y no crear los pares de claves yo mismo.
En Ethereum, una "transacción sin procesar" es aquella que se ha firmado, por lo que no firma transacciones sin procesar, firma transacciones y las envía a la cadena de bloques.
Tanto Mist como MetaMask inyectan la API web3.js en el contexto del navegador y le permiten usar sus métodos para consultar la cadena de bloques y enviar transacciones para que el usuario firme y envíe a la cadena de bloques.
El método más básico y común para enviar una transacción usando web3 es usar web3.eth.sendTransaction(params, callback) .
Con ese método, se le pedirá al usuario que apruebe la transacción y, si lo hace, se firmará y se enviará a la cadena de bloques, y se le devolverá la llamada con el hash de esa transacción. Luego puede consultar la cadena de bloques para la inclusión de esa transacción sondeando web3.eth.getTransactionReceipt(hash, callback) .
Además de esto, puede firmar blobs de datos arbitrarios usando web3.eth.sign(fromAddress, data, callback) , aunque tiene protecciones para firmarlo de manera diferente a una transacción, por lo que no se engaña a los usuarios para que firmen transacciones con este método.
"Se le pedirá al usuario que apruebe la transacción y, si lo hace, se firmará y se enviará a la cadena de bloques"
Entonces, si hago mi firma en una máquina con espacio de aire fuera de línea, ¿cómo Metamask firmará la transacción una vez que la "apruebe" (supongo que al hacer clic en "Aceptar" en algún estúpido cuadro de diálogo del navegador, una barra retardadamente baja para "aprobación")? ¿Cómo descargaría el TX sin procesar/sin firmar para firmar sin conexión?
simondos
DanF
DanF
simondos
usuario22075
DanF