Pregunta 1: ¿Puede un titular de cuenta enviar Ether a otro sin usar un contrato inteligente?
Pregunta 2: ¿Hay alguna necesidad de que dos cuentas se envíen mensajes o transacciones directamente entre sí?
Pero un contrato puede llamar a otras funciones de contrato y cambiar el estado del segundo contrato. Entonces, la pregunta es:
Pregunta 3: ¿Por qué un contrato no necesita firmar un mensaje que envía?
Una cuenta externa envía ether
a otra cuenta externa o a un contrato inteligente de manera idéntica, iniciando y firmando la transacción. El contrato inteligente solo recibirá el ether
si la función llamada está marcada payable
.
En el caso de una cuenta externa enviando a otra cuenta externa, las ether
transferencias sencillas (siempre y cuando el remitente tenga el dinero), no hay problema.
Un contrato inteligente puede enviar ether
, pero ese envío debe haberse iniciado desde una cuenta externa para empezar (en otras palabras, los contratos inteligentes no pueden iniciar transacciones). En el pasado, la gente llamaba a este tipo de envío un internal transaction
, pero en estos días se llama message call
, message
, call
, etc.
Sin embargo, tenga cuidado con la palabra "mensaje". Puedo iniciar una transacción externa a otra cuenta externa e insertar un message
relleno de texto en el input
campo. Entonces mi amigo puede leer ese "mensaje".
El otro tipo del que message
escuchará es el que message
proviene de un contrato inteligente.
En cuanto a "¿por qué no es necesario firmar un contrato...", piénselo de esta manera: el contrato inteligente es autonomous
. No hay nadie allí para firmar nada. Además, el contrato inteligente no puede iniciar transacciones. Además, si un contrato inteligente pudiera iniciar transacciones y firmarlas, su clave privada necesariamente tendría que almacenarse en la cadena de bloques. Todos podrían verlo, cualquiera podría robarlo, y sería fácil hacerse pasar por el contrato inteligente, por lo que no funcionaría en ningún caso.
Prashant Prabhakar Singh
sendTransaction
2. No entiendo exactamente esto, pero 2 cuentas pueden enviar transacciones sin contrato. 3. Porque los contratos se rigen por EoA's. Entonces, los EOA regulan cómo funciona un contrato,