幫助中心
常見問題
服務協議
平臺協議
TON 區塊鏈...的得獎選擇規則

TON 區塊鏈雜湊值的得獎選擇規則

2024-10-29 02:11

免責聲明:您所在地區可能無法使用此處提及的產品和服務。

1. 得獎數列如何決定?

幣安將在活動期間選擇特定日期,並使用該日期 23:59 (UTC) 時 TON 區塊鏈最後一個區塊雜湊值末 9 碼作為中獎數列。

例如:

如果獎勵計算日當天的最後一個 TON 區塊鏈區塊雜湊為:0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=

  • 幣安將移除字母而得到: 009692996864
  • 我們將以末 9 碼為中獎數列:692996864

2. 如何對用戶的地址應用乘法雜湊?

幣安將使用相乘雜湊公式 (類似 Java 的 `hashCode()`)「h = 31 * h + value[i]」來確定獲獎用戶的錢包地址。

實際計算:

1. 將字串「0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778」轉換為小寫形式,得到「0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778」,然後計算雜湊碼。

2. 每個字元的值由其 ASCII 碼決定:

  • 「0」的值是 48;
  • 「x」的值為 120;
  • 「2」的值為 50;
  • 「e」的值為 101;
  • 「c」的值為 99;
  • 「8」的數值為 56;
  • 「5」的數值為 53;
  • 「b」的值為 98;
  • 「一」的值為 97;
  • 「6」的數值為 54;
  • 「d」的值為 100;
  • 「9」的值是 57;
  • 「7」的數值為 55。

3. 初始化雜湊值:h = 0

4. 處理第一個字元「0」:

  • h = 31 * h + 48
  • h = 31 * 0 + 48
  • h = 48

5. 處理第二個字元「x」:

  • h = 31 * h + 120
  • h = 31 * 48 + 120
  • h = 1608

6. 處理第三個字元「2」:

  • h = 31 * h + 50
  • h = 31 * 1608 + 50
  • h = 49898

7. 處理第四個字元「2」:

  • h = 31 * h + 50
  • h = 31 * 49898 + 50
  • h = 1546888

8. 處理第五個字元「e」:

  • h = 31 * h + 101
  • h = 31 * 1546888 + 101
  • h = 47953629

9. 處理第六個字元「e」:

  • h = 31 * h + 101
  • h = 31 * 47953629 + 101
  • h = 1486562610

10. 處理第七個字元「c」:

  • h = 31 * h + 99
  • h = 31 * 1486562610 + 99
  • h = 46083441008

11. 剩餘字元的簡化處理  

按照上述步驟繼續處理剩餘的字元,直到處理完所有字元。最終的雜湊值 h 將是一個整數。  

12. 為確保雜湊值非負,我們使用「0x7fffffff」進行位元運算。「h & 0x7fffffff」。  

13. 使用此演算法,TON 地址雜湊值將是 0 到 2147483647 之間的數字。 

3. 如何生成用戶的抽獎數列?

每位用戶的錢包地址都將轉換為雜湊值以計算其抽獎數列:

[中獎數列 - 地址雜湊] = 用戶的抽獎數列

4. 如何決定得獎者?  

幣安會將每位用戶的抽獎數列升序排列,並依據活動規則選擇一定數量的序列作為贏家。 

如果出現平手 (例如,兩個或以上用戶的抽獎數列相同),幣安將使用任務完成時間來決定用戶的排名。用戶越早完成任務,其排名就越高。

  • 對於雜湊大於或等於 10 位數的地址,則移除第 10 位數。
  • 如果雜湊為 10 位數以下,則不進行任何更改。

接著幣安會計算用戶地址雜湊與得獎數列間的差值絕對值。幣安會將每位用戶的抽獎數列升序排列,較小的抽獎數列獲勝。

例如:

  • 用戶 A 的地址雜湊有 10 位數 (1023456780)。移除第 10 位數後,他們的抽獎數列是 102345678。
  • 用戶 B 的地址雜湊為 9 位數 (201154321),無需更改其抽獎數列。

如何決定贏家:

  • 得獎數列 = 692996864
  • 用戶 A 的開獎結果 = |692996864 - 102345678| = 590651186
  • 用戶 B 的開獎結果 = |692996864 - 201154321| = 491842543

由於 491842543 較小,用戶 B 獲勝。

立即註冊 — 獲得高達 100 USDT 交易手續費折抵 (適用於已通過驗證用戶)