Блог

Автоматичний переклад · Читати англійською

Як розподіляти токени серед активних учасників (NFT: ще ні)

Zealy не може фільтрувати учасників за недавньою активністю і не може надсилати NFT сьогодні. Механізм, який працює, — це спринт, з математикою виплат, прочитаною з коду.

Автор Mathis Grosjean

Обкладинка статті Zealy на темному текстурованому тлі з написом: Винагороджуйте тих, хто з'явився — токени, NFT і хто насправді їх отримує.
На цій сторінці

Коротка відповідь: Запустіть спринт. У Zealy спринт — це таблиця лідерів із датою початку та датою завершення, тож XP, який він ранжує, заробляється в межах цього вікна, а не накопичується назавжди. Це єдиний механізм у продукті, який платить людям за те, що вони активні зараз, а не за те, що приєдналися один раз. Далі Zealy визначає, хто переміг, і записує, на яку адресу платити. Він не переміщує токени і взагалі не може прикріпити NFT — саме поле винагороди це й зазначає: Винагороди у вигляді NFT ще недоступні.

Чого цей допис не робитиме: не дасть вам фільтра, якого не існує. Ви не можете попросити Zealy надати «учасників, які щось заявили за останні 30 днів» і отримати список. І він не розповість, як надіслати NFT через Zealy, бо немає винагороди у вигляді NFT для надсилання. Що він може зробити для частини з NFT — це отримати для вас обґрунтований список отримувачів: спринт визначає, хто саме, а карбування й надсилання відбуваються у ваших власних інструментах.

Розкриття інформації: Zealy публікує це, і Zealy продає продукт, який описується. Кожну наведену нижче поведінку Zealy було взято з кодової бази Zealy, а не з власної документації Zealy, яка, як виявилося, місцями помилкова. Кожне зовнішнє число супроводжується джерелом у місці появи.

Остання перевірка: 15 серпня 2026 року.

Чому «винагородити моїх активних учасників» складніше, ніж здається

Більшість розподілів токенів оплачують знімок минулого, а потім спостерігають, як токени йдуть. В академічному дослідженні дев'яти аірдропів у більшості протоколів медіанний отримувач зробив один переказ токенів, а медіанний розрив між першим і останнім становив нуль днів. Винагороджувати натомість активність означає платити за поведінку в межах вікна, яке ви задаєте.

Це дослідження — «Аірдропи: роздавати гроші складніше, ніж здається» від Johnnatan Messias, Aviv Yaish та Benjamin Livshits, охоплюючи дев'ять розподілів протоколу. Один переказ і відсутність витраченого часу — це не учасник, якого ви залучили. Це черга, в якій ви заплатили, щоб стояти перед вами один раз.

Звичайна відповідь — фільтрувати жорсткіше перед надсиланням, що працює дорого й із запізненням. Цей підхід і те, що отримали Optimism та LayerZero, є темою як провести аірдроп, який не фармлять.

Є дешевша версія тієї ж ідеї. Замість розподілу всім і подальшого віднімання небажаних людей визначте вікно, опублікуйте, що дає залік у ньому, і виплатіть за рейтингом, що вийшов. Нікого не треба видаляти, бо ніхто ніколи не був у списку безкоштовно.

Не можна фільтрувати учасників Zealy за недавньою активністю

Таблиця учасників Zealy фільтрує рівно за тринадцятьма стовпцями: id, name, role, join date, Discord handle та ID, TikTok username, X username, X follower count, X ID, email, country та ETH address. Join date — єдина дата. Немає фільтра за останньою активністю, фільтра за останнім claim і фільтра за XP за останні 30 днів.

Це дивує людей, тож варто бути точним щодо того, наскільки це сягає. сторінка учасників дає вам наведений вище список. XP навіть не в ньому — XP показано як стовпець, але обчислюється після того, як сторінку учасників уже отримано, тому за ним не можна ні фільтрувати, ні сортувати. Публічний API ще скромніший: пошук, ролі, ids, joinedAfter, joinedBefore і сортування. Аналітика Zealy справді будує графіки активних користувачів у часі, але графік — це агрегат. Zealy скаже вам, скільки людей були активними минулого тижня, і не передасть вам їхні імена.

Сортування за XP вас теж не врятує, бо XP учасника — це накопичений підсумок, а не щось обмежене періодом. Учасник, який активно фармив у березні й відтоді не відкривав вашу дошку квестів, усе одно випереджає того, хто цього місяця щотижня щось забирав. Сортування спільноти за XP сортує її за історією.

Тож чесне формулювання обмеження: у Zealy сьогодні «активний» — це не властивість учасника, яку можна запитати. Це властивість періоду часу, який ви визначаєте.

Механізм, який працює в Zealy: спринт

Спринт Zealy — це таблиця лідерів із датою початку й датою завершення, що рахує XP із заявок, зроблених у цьому вікні на квестах, які включає спринт. Рейтинг — це список тих, хто був активним протягом обраного вами періоду. Учасників із нульовим XP спринту автоматично виключено з виплати.

Ця остання деталь робить більше, ніж здається. Спляча половина вашої спільноти не відфільтровується правилом, яке ви написали; вона відсутня в результаті, бо нічого не зробила у вікні. Ви отримуєте бажаний фільтр як побічний ефект форми цієї речі.

Одне застереження, бо воно вирішує, чи можна назвати спринт чистим вимірюванням: XP, який адміністратор надав вручну в межах вікна, теж зараховується до спринту поряд із заявками. Якщо ви роздаєте бонусний XP, ви коригуєте те саме число, з якого обчислюється виплата.

Спринти виплачують одним із двох способів, і обидва варто зрозуміти, перш ніж обирати число.

Пропорційно. Кожен учасник отримує floor(pool × their sprint XP ÷ total sprint XP). Візьміть пул на 10 000 токенів, 250 000 XP на всіх, хто має право, і учасника, який заробив 4 000 з них: його частка — 160 токенів. Кожна частка округлюється вниз, тож виплати можуть у сумі дати трохи менше за пул. Зауважте: якщо ви також задасте зону винагород, загальна сума в цьому знаменнику перераховується лише для людей усередині зони — тож додавання відсікання підвищує частку кожного й водночас скорочує список.

За рівнями. Ви задаєте діапазони місць, кожен бере відсоток пулу, розподілений рівномірно всередині діапазону. Місця 1–10 можуть разом брати 40%, а місця 11–50 — ще 20%. Можна задати до 50 рівнів, і вони не можуть ні перетинатися, ні залишати проміжок між діапазонами. Схема за рівнями платить за позицію, а не за зусилля — це те, що вам потрібно, коли суть у видимій гонці.

Поверх будь-якого з них зона винагород — це жорстке відсікання за топ-N. Задайте 200, і місце 201 не отримає нічого, скільки б XP воно не заробило. У спринті немає режиму розіграшу — виплата за місцем і XP, тож якщо вам потрібна випадковість, це метод винагороди за квест, а не спринт.

Спільноти роками проводять саме такі змагання. Bandzaï описав спринт з майже 600 000 $BZAI та NFT Zaï для топ-200 гравців таблиці лідерів. CoinW провів таблицю лідерів Top 50 з головною нагородою 100 USDT. Alphaday поставив топ-10 учасників своєї таблиці лідерів у чергу на частку призового фонду $300 в ETH. ShimmerSea запропонував 5 500 USDT і 404 спеціальні Lumi NFT, щоб люди протестували кожну частину його протоколу. Усі чотири приклади з 2023 року, і всі чотири — це зони винагород із зазначеною датою.

Один із них ілюструє суть NFT для мене. Приз Bandzaï складався з токенів і NFT для зони топ-200. Спринт обирає 200. Доставка NFT їм була і досі є завданням самого проєкту — що підводить нас до того, що Zealy буде, а що не буде вкладати комусь у руки.

Що Zealy фактично надсилає, за типом винагороди

Модель даних Zealy містить сім типів винагород, а редактор квестів пропонує шість: XP, роль Discord, Zaps, USDC, токен і користувацьке "інше". USDC — єдиний, який зараховується сам. Винагороди токенами записуються, а не надсилаються, а винагороди NFT наразі недоступні в продукті.

ВинагородаУ редакторі квестів?Хто фактично це переміщує
XPТакZealy, всередині Zealy
ZapsТакZealy, всередині Zealy
Роль у DiscordТакБот Zealy, асинхронно; учасник без прив'язаного Discord ніколи його не отримує
USDCТакZealy автоматично після успішного запиту з балансу, який ви попередньо поповнили
ТокенТакВи. Zealy фіксує переможця та адресу для виплати
Власний варіант "інше"ТакВи, у будь-який спосіб, який ви описали
NFTНіНіхто. У полі вказано NFT-винагороди ще недоступні

Рядок NFT варто прочитати двічі. Модель даних Zealy досі містить тип винагороди NFT, і колись Zealy карбував NFT через зовнішній сервіс на Polygon за фіча-флагом. У продукті, яким ви користуєтесь сьогодні, поле NFT-винагороди виводить один рядок із повідомленням, що вона недоступна, а все, що за ним, вимкнено. Будь-який посібник, який показує, як додати NFT-винагороду до квесту Zealy, описує те, чого немає.

Токен-винагороди працюють за розподілом праці, який легко зрозуміти неправильно. Zealy визначає переможця й записує рядок зі статусом очікування, що містить переможця та його підтверджену адресу. Далі ви надсилаєте з власного гаманця й вставляєте хеш транзакції назад — є масова дія, яка проставляє один хеш усім переможцям зі статусом очікування одразу, і саме так ви розраховуєтесь за спринт на топ-200 без 200 копіювань. Zealy підтримує для цього понад двадцять ідентифікаторів мереж, два з яких є тестнетами.

Чотири кроки для токен-винагороди Zealy. Zealy визначає переможця, потім записує переможця й адресу для виплати. Ви надсилаєте токени й платите за газ, потім вставляєте хеш транзакції назад.

Де Zealy зупиняється, а спільнота починає, для токен-винагороди. USDC — виняток: він зараховується автоматично.

Звідси випливають два наслідки, і жодного з них немає в маркетингових текстах. Zealy не має підписувача для токен-винагород, тож газ сплачує спільнота. І Zealy наразі не перевіряє на блокчейні, що правильна сума надійшла на правильну адресу. Форма для одного переможця перевіряє, що ідентифікатор транзакції принаймні має правильний формат; масова дія, яка проставляє один хеш усім переможцям зі статусом очікування, перевіряє лише те, що ви щось ввели. Хеш — це запис вашого твердження про оплату, а не доказ оплати. Якщо ваша спільнота достатньо велика, щоб ця різниця мала значення, ведіть власну звірку.

USDC — це виняток, який поводиться так, як люди очікують від винагороди. Ви поповнюєте баланс, кожен квест блокує кошти під нього, а успішний запит автоматично зараховує винагороду учаснику. USDC накопичується як баланс на боці Zealy і виводиться на прив'язаний Polygon-гаманець учасника. Скеровуйте людей на екран виведення, щоб дізнатися поточні умови, а не обіцяйте в брифі кампанії конкретну суму до виплати.

Те, що отримувачі мають сплатити з цього приводу, — окреме питання з реальними наслідками, і заробіток криптовалюти без жодних покупок охоплює бік отримувача.

Zealy проти Galxe у питанні доставки винагороди

Galxe пропонує тип винагороди у вигляді NFT і проводить токен-розіграші ончейн. Zealy не робить ні того, ні іншого: NFT-винагороди вимкнено, а токен-винагороди лише фіксуються, а не надсилаються. Проте ончейн-розіграш Galxe стягує з користувача плату за газ, а кастомні винагороди Galxe розповсюджує проєкт — так само, як токени Zealy.

ZealyGalxe
NFT як тип винагородиНедоступно; у полі зазначено Винагороди NFT ще недоступніПідтримується. Galxe вказує свої винагороди як "Points, OAT, NFT, Custom Rewards, Mystery Boxes, Tokens і Discord Roles" та зазначає, що "підтримує NFT-винагороди в будь-якій сумісній блокчейн-мережі"
Розподіл токенівZealy фіксує переможця та адресу; проєкт надсилає"Token Raffles" працюють ончейн, тоді як "Token FCFS" залишається офчейн без запуску транзакції
Хто платить за газПроєкт зі свого гаманцяДля токен-винагород у режимі розіграшу, "що вимагають від користувачів сплатити комісію за газ-транзакцію в токенах G у мережі Gravity"
Користувацькі винагородиПроєкт виконує доставку так само, як і токени"Проєкт відповідає за розподіл цих винагород, який відбуватиметься поза межами Galxe"

Цитати Galxe взято з її опублікованої документації щодо винагород, посилання на яку є в заголовку таблиці.

Оцінюйте компроміс чесно. Якщо вам потрібен NFT, що надходить у гаманець як безпосередній результат виконання квесту, Galxe це робить, а Zealy — ні, і жоден дизайн спринту Zealy цього не замінить. Якщо вам потрібен розподіл, за якого отримувачі нічого не платять і не взаємодіють із мережею для отримання, шлях USDC у Zealy це забезпечує, а ончейн-розіграш — ні. Обидві платформи залишають кастомні винагороди на розсуд проєкту, тож загальний випадок ніхто не вирішив.

Як провести виплату за спринт на Zealy, крок за кроком

Спершу встановіть дати спринту, адже вікно — це фільтр. Виберіть пропорційну або ступінчасту виплату та зону винагород. Коли спринт закриється, експортуйте таблицю лідерів або переможців винагород, щоб отримати адреси гаманців, надішліть із власного гаманця, а потім вставте хеш транзакції назад у Zealy.

1. Визначте, що вимірює вікно. XP спринту надходить із заявок, зроблених між датами початку та завершення, тож квести, які ви публікуєте в цьому вікні, і є визначенням "активності", за яку ви платите. Якщо вам потрібна глибина, а не кліки, зважуйте XP відповідно до цього до початку спринту, а не після. Створення спринту охоплює налаштування.

2. Оберіть пропорційні чи рівневі. Пропорційні винагороди оцінюють обсяг зусиль і створюють довгий хвіст дрібних виплат. Рівневі концентрують цінність на вершині й створюють гонку. Зона винагороди в кілька сотень зберігає список виплат такого розміру, який ви справді можете врегулювати вручну.

3. Обмежуйте квести, а не учасників. На Zealy немає списку дозволених учасників, тож чесність спринту забезпечується умовами квестів. Zealy приймає сім типів умов — завершення іншого квесту, рівень, роль у Discord, дата, володіння NFT, кількість підписників у X і вік акаунта X — у поєднанні через AND або OR. Умови рівня приймають лише «above» і «below», а обмеження за NFT працює тільки в Polygon. документація з умов перелічує всі сім.

4. Виберіть метод винагороди для кожної винагороди. Методи винагород — це всі: першим прийшов — першим обслуговується, розіграш, топ і голосування, і вони задаються для кожної винагороди окремо, а не для квесту. «Першим прийшов — першим обслуговується» та розіграш мають обмеження у 1 000 переможців кожен, топ також обмежений 1 000, а голосування не має верхньої межі. Розіграш — це випадкове впорядкування успішних заявок, і для його дійсності потрібен або ліміт заявок, або дата закриття.

5. Експортуйте правильний файл. Експорт учасників дає вам userId, ім'я, роль, XP, дату приєднання та статус бану, але не адресу гаманця. Адреси беруться з експорту таблиці лідерів або експорту переможців винагород — хоча файл переможців винагород містить саме стовпець адреси Ethereum, тож спільнота Solana чи TON має натомість взяти експорт таблиці лідерів. Отримання списку учасників із питанням, куди поділися гаманці, — це найпоширеніша змарнована година в усьому цьому робочому процесі.

6. Надішліть, потім зафіксуйте. Оплатіть зі свого гаманця, вставте хеш, використовуйте масову дію, якщо список переможців довгий. Також опублікуйте хеш у своїй спільноті — оскільки Zealy не перевіряє його в блокчейні, перевірка вашими учасниками — це єдиний наявний контроль. Документація щодо винагород охоплює саме налаштування винагороди.

Місця, які вас вкусять

Zealy не має списку дозволених учасників, перевірки балансу токенів і перевірки в блокчейні, що ваша транзакція виплати зробила те, що ви кажете. Скидання таблиці лідерів є руйнівним і зміщує дату початку активного спринту. Експорт учасників не містить адрес гаманців. Для кожного з цих пунктів є обхідний шлях, і жоден із них не є очевидним.

Скидання таблиці лідерів — це те, що коштує реальних грошей. Скидання стирає ручні нарахування XP, обнуляє лічильник заявок кожного квесту і — якщо спринт триває — переносить дату початку цього спринту на момент скидання. Половина історії вашого спринту може зникнути через кнопку, яка звучить як прибирання. Завершуйте спринти перед скиданням або не скидайте взагалі.

Відсутні обмеження визначають, що ви можете обіцяти. Ви не можете завантажити список адрес і обмежити квест ними, а умову балансу токенів не можна встановити, хоча ця концепція існує в коді. Тож «лише для власників» — це не той спринт Zealy, який ви можете налаштувати; володіння NFT на Polygon — це найближче доступне обмеження.

Обмеження за рівнем заслуговує окремого попередження. Ви обмежуєте за рівнем, а не за сирим XP, і лише вище або нижче рівня. Пороги рівнів походять із фіксованої глобальної кривої, однакової в кожній спільноті Zealy, тож рівень «5 і вище» означає ту саму кількість накопиченого XP у вашій спільноті, як і в усіх інших. Плануйте рівні, знаючи, що ви не встановлюєте пороги — як запустити програму криптоамбасадорів працює через створення іменованих рангів навколо цього обмеження.

Ніщо з цього не робить спринт поганою відповіддю. Це робить його конкретним: Zealy добре визначає, хто заслуговує на винагороду, і без зайвих ілюзій ставиться до її переказу. Якщо ви очікуєте механізм розподілу, вас це дратуватиме. Якщо ви очікуєте дуже точне табло з кнопкою експорту, ви отримаєте саме це, а надсилання — це тридцять хвилин роботи з власним гаманцем.

FAQs

Визначте часове вікно й виплачуйте за рейтингом, який з нього виходить, а не фільтруйте список учасників постфактум. У Zealy це спринт: таблиця лідерів із датою початку й завершення, де XP нараховується лише за клейми, зроблені в межах вікна, а учасники з нульовим XP за спринт автоматично виключаються з виплати. Задайте зону винагород — топ-50, топ-200 — і виплачуйте пропорційно до XP або ярусами за місцем у рейтингу.

Ні. NFT-винагороди сьогодні в Zealy недоступні. Тип винагороди досі існує в моделі даних Zealy, і колись Zealy карбував NFT у Polygon через зовнішній сервіс за прапорцем функції, але редактор квестів пропонує шість типів винагород, і NFT серед них немає. Саме поле показує один рядок: NFT-винагороди ще недоступні. Якщо вам потрібне доставляння NFT як безпосередній результат квесту, Galxe включає NFT до типів винагород квестів, а Zealy — ні.

Лише для USDC. Винагороди в USDC зараховуються автоматично після успішного клейму з балансу, який ви попередньо поповнюєте, а учасник виводить їх на свій прив'язаний гаманець Polygon. Для власного токена проєкту Zealy визначає переможця й записує, на яку адресу платити, після чого ви надсилаєте зі свого гаманця й вставляєте хеш транзакції назад у Zealy. Zealy не має підписувача для токен-винагород, тож газ сплачує ваша спільнота, а Zealy перевіряє лише формат цього хешу, не підтверджуючи в мережі, що правильна сума надійшла на правильну адресу.

Використовуйте експорт таблиці лідерів або експорт переможців винагород. Експорт учасників — це неправильний файл: він повертає userId, ім'я, роль, XP, дату приєднання та статус бану, без адреси гаманця. Експорти таблиці лідерів і переможців винагород містять адреси, тому саме їх потрібно використовувати наприкінці спринту.

Ні. Фільтри учасників Zealy — це тринадцять стовпців: id, ім'я, роль, дата приєднання, Discord-нік і ID, ім'я користувача TikTok, ім'я користувача X, кількість підписників X, ID X, email, країна та ETH-адреса. Дата приєднання — єдине поле дати, тому немає фільтра за останньою активністю, останнім клеймом чи XP за останні 30 днів. XP взагалі не фільтрується і не сортується: він відображається, але обчислюється після того, як сторінку учасників уже завантажено. Zealy показує активних користувачів як агрегат у часі, не називаючи їх. Спринт — це заміна: він формує список нещодавно активних учасників як рейтинг, а не як запит.

У спринті Zealy немає режиму розіграшу — виплата за спринт відбувається за рангом і XP, учасники з нульовим XP виключаються, а зона винагород обмежена топ-N. Випадковість є у винагородах за квести: розіграш — один із п'яти методів винагороди поряд з усіма, першим прийшов — першим отримав, топ і голосування; він задається для кожної винагороди окремо, а не для квесту, обмежується 1 000 переможців, а розіграш — це випадкове впорядкування успішних клеймів. Розіграш також потребує ліміту клеймів або дати закриття, щоб бути дійсним. Використовуйте спринт, коли хочете винагородити тих, хто зробив найбільше, і розіграш квесту, коли хочете дати шанс кожному, хто подолав поріг.