Как отправить несколько транзакций из кошелька одновременно? [дубликат]

Как это возможно? Допустим, я хочу отправить 0,05 эфира на 100 аккаунтов и не хочу создавать одну и одну транзакцию за раз.

Есть ли способ ввести список кошельков, на которые вы хотите отправить, и он сделает все остальное?

Пытался найти программу, которая это делает, но безрезультатно.

Кто-нибудь может мне помочь? Спасибо! :)

Ответы (1)

Для этого можно написать смарт-контракт. Вы бы дали ему список адресов, и он раздал бы данный eth по этим адресам. Конечно, это означает, что вам также придется заплатить за выполнение контракта.

Что-то вроде этого:

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);
    }
}

Обратите внимание, что этот код не очень хорош (например, размер массива теперь статичен и проблемы с десятичными числами), но вы поняли.

Также плохая практика переводить деньги с контракта - лучше и безопаснее было бы разрешить вывод на адрес.

Хорошо, спасибо, так что смарт-контракты — это то, что вам нужно. Думал, есть способ проще. Нужно ли мне создавать свой собственный смарт-контракт с нуля или есть некоторые, которые я могу просто скопировать? Я немного разбираюсь в кодировании, но думаю, мне будет трудно, если мне придется делать его с нуля. :)
Вы можете попробовать поискать в гугле, но я не думаю, что они существуют именно для этого варианта использования в любом из общепринятых репозиториев (таких как OpenZeppelin). Если вы решите реализовать это самостоятельно, будьте особенно осторожны с реализацией, поскольку она может привести к утечке реального эфира.
Постараюсь найти что-нибудь, спасибо. Если я не могу понять это, вы могли бы сделать один для меня по цене? :)
Я не "настоящий" разработчик солидности, скорее скрипач. И вам определенно не следует просить случайного интернет-чувака закодировать для вас контракт, чувствительный к деньгам. Наймите настоящую компанию / какого-нибудь надежного фрилансера.
вы также можете использовать Dapp: rstormsf.github.io/multisender/#