Estaba haciendo un contrato inteligente que involucra a las personas para comprar tokens a cambio de éter que envían. Funciona bien en testrpc ya que todas las cuentas están desbloqueadas, pero ¿cómo lo hago para las cuentas reales en la red principal usando web3 en nodejs? ¿Qué campos serían necesarios para invocar estas funcionalidades pagaderas de contrato inteligente, excepto la dirección de la billetera, por supuesto? ¿Algún fragmento de código o ejemplo? Cualquier ayuda sería apreciada. Gracias.
Algunos puntos para ayudarlo a separar los problemas y aclarar el pensamiento.
Un contrato no puede hacer nada que un usuario normal no pueda hacer. Por ejemplo, no hay nada que pueda programar para que un contrato gaste el dinero de otra persona.
Toda acción en la cadena de bloques comienza con una "firma" y transacción de "Cuenta de propiedad externa". Los contratos pueden comunicarse entre sí, pero nunca hacen nada hasta que alguien envía una transacción firmada, por lo que esos "mensajes" están en otra categoría ("mensajes").
La firma se realiza mediante billeteras que utilizan claves secretas. Sin el secreto, la firma no es posible. Pero cualquiera que adquiera el secreto (de alguna manera) puede firmar en nombre de otra dirección.
Cuando usa TestRPC, "el" usuario tiene 10 direcciones diferentes. Son sus direcciones, no extraños. Tiene las llaves secretas. TestRPC simplemente hace que sea conveniente desbloquear las cuentas y gastar sobre la marcha. No podría inventar una dirección número 11 y gastar desde ella sin el secreto correspondiente.
En el caso de un sitio web, hay dos soluciones (generales).
Espero eso ayude.
Debe firmar las transacciones en el navegador. Puede hacerlo manualmente o usar un proveedor que lo haga automáticamente por usted.
Shubhabrata Mukherjee
Shubhabrata Mukherjee
Rob Hitchens
Rob Hitchens
Shubhabrata Mukherjee
Shubhabrata Mukherjee