Відмова від відповідальності: продукти й послуги, згадані тут, можуть бути недоступні у вашому регіоні.
Binance вибере конкретну дату під час події і використає останні 9 цифр останнього хешу блоку TON о 23:59 (UTC) на таку дату як виграшну послідовність.
Наприклад:
Якщо останній хеш блоку TON у день розрахунку винагороди 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=
Binance буде використовувати формулу мультиплікативного хешу (схожу на Java – `hashCode()`) "h = 31 * h + value[i]" для визначення адреси гаманця-переможця користувача(-ів).
Розрахунок:
1. Змінюємо регістр рядка "0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778" на нижній, щоб отримати "0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778", а потім обчислюємо хеш-код.
2. Значення кожного символу визначається його ASCII-кодом:
3. Ініціалізуємо хеш-значення: h = 0
4. Обробляємо перший символ "0":
5. Обробляємо другий символ 'x':
6. Обробляємо третій символ "2":
7. Обробляємо четвертий символ "2":
8. Обробляємо п'ятий символ "e":
9. Обробляємо шостий символ "e":
10. Обробляємо сьомий символ "c":
11. Спрощена обробка решти символів
Продовжуйте обробляти решту символів, дотримуючись описаних вище кроків, доки не будуть оброблені всі символи. Кінцеве хеш-значення h буде цілим числом.
12. Щоб переконатися, що хеш-значення не є від'ємним, ми застосовуємо побітово та з "0x7fffffff": "h& 0x7fffffff".
13. З використанням цього алгоритму, хеш-значення адреси TON буде числом від 0 до 2147483647.
Адреса гаманця кожного користувача перетворюється на хеш-значення для розрахунку його лотерейної послідовності:
[Виграшна послідовність – хеш адреси] = лотерейна послідовність користувача
Binance буде сортувати лотерейна послідовність кожного користувача за зростанням і вибере певну кількість послідовностей як переможців залежно від правил кампанії.
У разі однакових значень (наприклад, два або більше користувачів мають однакову послідовність лотерей), Binance буде використовувати час виконання завдання для визначення рейтингу користувачів. Що раніше користувач виконує завдання, то вищий рейтинг.
Після цього розраховується абсолютна різниця між хешем адреси користувачів і виграшною послідовністю. Binance буде сортувати лотерейну послідовність кожного користувача за зростанням, і виграє найменша лотерейна послідовність(-ості).
Наприклад:
Як визначити переможця:
Оскільки 491842543 менше, виграє користувач Б.