¿Los eventos solo son útiles para los componentes frontend?

Estoy viendo más y más formas a medida que aprendo dónde se pueden ejecutar funciones en el lado del cliente. Estoy viendo eventos. ¿El cliente de Ethereum (digamos, Metamask) carga todos los eventos de un contrato cuando abro la aplicación en una página web? ¿Para eso son principalmente los eventos?

Los eventos son una interfaz de alto nivel para registros. El registro es solo de escritura y no se puede leer dentro de un contrato inteligente, por lo que se considera un medio para comunicarse con el mundo exterior. Cuando tiene una interfaz (consulta desde el cliente) los registros/eventos que corresponden a una determinada descripción.

Respuestas (1)

Esto depende de la aplicación de la que esté hablando, pero probablemente no esté cargando todos los eventos que se han emitido, solo los últimos. Cargar una página a la vez mantiene las cosas eficientes. Dicho esto, hay muchos usos para los eventos.

Uno de los grandes es obtener valores de "retorno" de una transacción a un cliente. Si revisa la especificación web3 para send(), notará que no se menciona el valor de retorno. Esto se debe a que web3no se puede saber cuánto tiempo llevará confirmar la transacción. La call()función proporciona un valor de retorno de la función porque solo se usa con funciones view/pure que no requieren una transacción.

Si desea devolver un valor de su función de modificación de estado, puede llamar a un evento al final y luego suscribirse a ese evento. Cada vez que se confirme la transacción que representa su llamada, ese evento aparecerá en su suscripción, brindándole su valor de retorno y haciéndole saber que su llamada se completó.

Oye, parece que estoy feliz de darte tu primera solución/respuesta. ¡Gracias!
¡Gracias! Estuve trabajando en Ethereum durante algunos meses, quería comenzar a retribuir y responder preguntas donde pudiera :)