Руководство Airdrop Claiming
В этой статье мы рассмотрим вымышленное решение для клейма, попытаемся выявить его проблемы с производительностью и решить их. Мы сосредоточимся на взаимодействии контрактов и их влиянии на общую производительность и не будем затрагивать код, аспекты безопасности и другие нюансы.
Claim Machine
Как работает практически любое решение для клейма? Давайте подумаем.
Пользователь отправляет некое доказательство, пруф того, что он имеет право на клейм. Разработанный алгоритм решения осуществляет проверку доказательства и при ее успешности отправляет жетоны. В данном случае используется доказательство Меркла, но это вполне могут быть просто подписанные данные или любой другой метод авторизации. Отправка жетонов осуществляется с помощью Jetton wallet и Jetton minter. Также, нужно убедиться, что хитрые пользователи не смогут клеймить дважды – для этого необходим контракт с защитой от двойного списания. И, наверное, заработать немного денег, не так ли? Значит потребуется, по меньшей мере, один кошелек для клейма. Подведем итог:
Дистрибьютор
Принимает доказательство от пользователя, проверяет его, выпускает жетоны.
State init: (merkle_root, admin, fee_wallet_address).