¿Cómo enviar múltiples transacciones desde la billetera a la vez? [duplicar]

¿Cómo es esto posible? Digamos que quiero enviar 0.05 éter a 100 cuentas y no quiero crear una transacción a la vez.

¿Hay alguna manera de ingresar una lista de billeteras a las que desea enviar y hace el resto?

Intenté buscar un programa que haga esto, pero no tuve suerte.

¿Alguien me puede ayudar? ¡Gracias! :)

Respuestas (1)

Podrías escribir un contrato inteligente para ello. Le daría una lista de direcciones y distribuiría el eth dado a esas direcciones. Por supuesto, esto significa que también tendría que pagar por la ejecución del contrato.

Algo como esto:

function distribute(address[100] addresses) payable public {
    uint oneShare = msg.value / addresses.length;
    for (uint i = 0; i < addresses.length; i++) {
        addresses[i].transfer(oneShare);
    }
}

Tenga en cuenta que este código no es muy bueno (por ejemplo, el tamaño de la matriz ahora es estático y hay problemas con las cantidades decimales), pero entenderá el punto.

También es una mala práctica transferir dinero de un contrato: sería mejor y más seguro permitir el retiro de la dirección.

Muy bien, gracias, los contratos inteligentes son el camino a seguir. Pensé que habría una manera más fácil. ¿Necesitaría crear mi propio contrato inteligente desde cero o hay algunos que puedo copiar? Sé un poco de codificación, pero creo que lo pasaré mal si tengo que hacer uno desde cero. :)
Puede intentar buscar en Google, pero no creo que exista exactamente para este caso de uso en ninguno de los repositorios generalmente aceptados (como OpenZeppelin). Si decide implementarlo usted mismo, tenga mucho cuidado con la implementación, ya que tiene el potencial de filtrar éter real.
Intentaré ver si encuentro algo, gracias. Si no puedo resolverlo, ¿podrías hacerme uno por un precio? :)
No soy un desarrollador de solidez "real", más como un violinista. Y definitivamente no debería pedirle a un tipo de Internet al azar que codifique un contrato sensible al dinero para usted. Contrata a una empresa real/algún freelancer de confianza.
también puedes usar Dapp: rstormsf.github.io/multisender/#