Допустим, это день зарплаты — я накопил много биткойнов и отправил их все на один адрес. Теперь я хочу оплатить много адресов из этого «пула» монет, скажем, от 100 до 10 000 адресов. Каков наилучший способ сделать это так, как я могу использовать с PHP, и какой клиент лучше всего подходит? В настоящее время я знаком с биткойнами и электрумом.
Проблемы, которые я вижу, это:
Можно ли это сделать без использования необработанных транзакций? И как мне проверить, сколько адресов я могу отправить одновременно, не достигая максимального размера транзакции? Если мне придется иметь дело с необработанными транзакциями, есть ли какая-нибудь библиотека в PHP, которая поможет мне легко их создавать?
Спасибо.
По крайней мере, когда вы используете биткойн, лучшим решением является использование sendmany
вызова RPC, который позволяет вам создать одну транзакцию, которая выполняет множество выплат. Транзакция будет намного меньше (в байтах), чем многие транзакции с одним платежом, которые вы имели в виду (более 6 раз, для 100 выходов), что приведет к более низким комиссиям в целом для того же эффекта.
Кроме того, даже если вы будете использовать отдельные транзакции для каждой (хотя я не советую этого делать), нет необходимости ждать подтверждения между разными транзакциями, так как реализация позволяет отправлять транзакции с нулевым подтверждением, если они исходят от вас.
В Electrum вы можете использовать функцию импорта CSV для массовых платежей. Он может принимать либо CSV-файл, либо CSV-файл, введенный в текстовое поле. Грубый формат:
ADDRESS, 0.12345
ADDRESS, 0.12314
Эта функция была объединена с версией 1.9, которая еще не выпущена, но вы уже можете ее использовать.
https://github.com/spesmilo/electrum/pull/282
Пример:
1PkeTTctdh2CvhW3fQLs93PWP9qupWV68X, 5
3NujXLC3LxNsmk2wr69CLBuXGfhXeenUyu, 5
1CNAnSb7d1XCA4AXBH2gip3mi8dNTQxzeo, 1
1LSBFJ1An9orRMU6Bz3NS1y3jr1eH9AexE, 1
16qRyDVZVpptJb4HZzv5rWkjqtJWVRjDep, 1
1PkeTTctdh2CvhW3fQLs93PWP9qupWV68X, 5
1Nnad832Zyob64wGbju49CC5RFbACAfCNZ, 1
1J2gFYBnf8K2wHJDndgr3iN1nPoZumHXap, 5
Сумма указана в единицах, настроенных для вашего Electrum. В моем случае, например, в mBTC. Будьте осторожны с этим!
время летать
рдимак
рдимак
время летать
рдимак