Diferencia entre transacciones y transacciones sin procesar en web3.js

Al leer la documentación de web3.js , me encontré con el envío de transacciones y transacciones sin procesar . En la documentación se especifica que enviar transacciones sin procesar envía una transacción ya firmada.

¿Esto implica que web3.js no firma transacciones cuando se llama a sendTransaction() ?

Respuestas (1)

Todas las transacciones deben ser firmadas. De lo contrario, se consideran transacciones no válidas y no se incluirán en la cadena de bloques.

Una transacción sin procesar es una transacción en bytes sin procesar. Si uno tiene los bytes sin procesar de una transacción válida, puede usar sendRawTransaction. De lo contrario, web3.js crea automáticamente los bytes de la transacción firmada como parte de sendTransaction(). web3.js convierte la transacción JSON {from:..., to:..., value:...}en bytes sin procesar y la firma automáticamente.

Se requieren bytes sin procesar si está utilizando una plataforma como infura.io que no maneja claves privadas sino que solo trata transacciones firmadas.

Hice una pregunta relacionada/de seguimiento aquí: ethereum.stackexchange.com/questions/18928/…
@Tesa Gracias. Intentaré escribir una buena respuesta (alguien rápido ya ha escrito una), podría llevar unos días.