Это третья статья из еженедельной серии руководств, объясняющих простые задачи программирования на блокчейне Waves с помощью Google Blockly. Мы хотели бы поблагодарить Silas и Marc Jansen за написание этой серии статей и рады вознаградить их усилия небольшим грантом от Образовательного фонда WavesGo.

В этой главе объясняется, как использовать списки для проведения аирдропа. Аирдроп — это раздача волн или других активов по нескольким адресам. Важным моментом здесь является вопрос о том, как будет идентифицироваться адрес получателя. Чтобы не усложнять пример, был использован ранее определенный список. Это может быть создано, например, с помощью другой программы. Если вы хотите попробовать это сами, вы можете найти инструмент здесь

Работа со списками

Списки — еще одна важная часть программирования. Списки позволяют хранить несколько записей данных. Эти записи данных также могут быть вызваны для дальнейшего использования в дальнейшем. Блок для работы со списками можно увидеть на рисунке 1.

Списки используются, например, для аирдропов. Там разные адреса хранятся в списке. Разделителем между отдельными элементами списка является запятая. Пример можно найти на рисунке 2.

Исходя из этого, вы можете распространять Waves или другие активы по различным адресам. В списке может храниться либо только адрес получателя, либо дополнительно количества, которые должны быть распределены по адресу. Здесь возможны разные форматы. Таким образом, как и в приведенном выше примере, адрес и связанные с ним количества могут храниться непосредственно друг за другом. Альтернативой может быть сначала сохранение всех адресов, а затем соответствующих количеств. Возможно даже разделение на два списка.

В программе с рис. 2 сначала создается список под названием «адреса». В списке пишут разные адреса и сзади через запятую количество волн или другой актив, там актив указывается в мельчайших единицах. Затем список просматривается, и отдельные записи отображаются в форме «‹адрес› ‹количество токенов для отправки›». Для этого используется цикл, который устанавливает «i» в 1 при первом запуске. В каждом цикле переменная с именем «адрес» затем устанавливается в положение переменной «i» в списке, местоположение описывает «#» и «i» значение. Затем переменной «количество» присваивается значение в ячейке «i+1» в списке. Затем отображается «адрес» + «сумма», как показано на рисунке 3:

Реализация аирдропа

По сути, все необходимые компоненты, которые нам нужны для Airdrop, уже показаны в программе на рисунке 2. Чего здесь не хватает, так это фактической отправки соответствующего актива. Для этого мы используем уже известный блок для отправки актива в блокчейн. На фиг.4 этот блок включен в структуру, известную в остальном по фиг.2.

Важно отметить, что между адресами и запятыми не должно быть пробелов, иначе они будут считаться частью соответствующей строки!

Найдите нас онлайн

Присоединяйтесь к нам в социальных сетях, чтобы быть в курсе:

Дискорд: https://discord.gg/cnFmDyA

Твиттер: https://twitter.com/GoWavesgo

Facebook: https://www.facebook.com/WavesGo/

Электронная почта: [email protected]