Digamos que soy un intercambio que tiene muchos usuarios. Cuando le pido a un usuario que deposite ETH, le doy una dirección única para poder atribuirle el ETH.
Con Bitcoin esto es fácil. El software de la billetera bitcoin maneja esto y puedo tener BTC en varias direcciones y se trata como una sola cuenta.
Entiendo que con Ethereum esto es diferente.
Encontré 2 opciones para lograr esto:
Implemente un contrato inteligente de reenviador una vez para cada usuario, proporcione la dirección al usuario. Cuando el contrato inteligente recibe ETH, lo reenvía a mi dirección ETH principal.
Ventajas :
Contras :
Crea una cuenta para cada usuario. No proporcione la clave privada al usuario. Revise periódicamente todas las "cuentas de usuario" que controlo y envíe el ETH a la "cuenta principal"
Ventajas:
Contras:
¿Cuál de estos dos enfoques me costará más gasolina? Intuitivamente, creo que el segundo costaría menos gasolina porque implementar contratos inteligentes es más costoso que enviar ETH. Pero el primer enfoque parece ser el más popular entre los intercambios. ¿Porqué es eso?
Debo señalar que no espero que los usuarios depositen ETH más de una vez. (O más bien, para cada depósito, les daría una nueva dirección para que sea más fácil realizar un seguimiento de sus depósitos)
Digamos que soy un intercambio que tiene muchos usuarios. Cuando le pido a un usuario que deposite ETH, le doy una dirección única para poder atribuirle el ETH.
Con Bitcoin esto es fácil. El software de la billetera bitcoin maneja esto y puedo tener BTC en varias direcciones y se trata como una sola cuenta.
Entiendo que con Ethereum esto es diferente.
No estoy seguro de entender lo que estás tratando de lograr. Si desea permitir que las personas depositen Ether en su contrato, ¿no puede simplemente mantener un mapeo de direcciones a saldos? Obtendría la dirección del remitente con msg.sender
Tendrías un contrato que crea contratos. Su contrato maestro crea nuevas 'billeteras infantiles' para sus usuarios.
Luego puede hacer que los niños escuchen a un propietario determinado que se crea al crear la nueva billetera. De esa manera tienen una dirección específica que tú controlas. Si solo desea enviar el dinero instantáneamente a su propia billetera, puede tener una función en el nuevo contrato que es una función alternativa que envía todo el ETH a una dirección determinada.
Nulik
Nulik
juraj petrik
Nulik