Pravila za podelitev nagrad glede na zgoščeno vrednost verige blokov TON

2024-10-29 02:11

Izjava o omejitvi odgovornosti: Tukaj navedeni produkti in storitve morda niso na voljo v vaši regiji.

1. Kako določiti zmagovalno zaporedje?

Družba Binance bo med dogodkom izbrala določen datum in kot zmagovalno zaporedje uporabila zadnjih 9 števk najnovejše zgoščene vrednosti verige blokov TON ob 23.59 (UTC) na ta dan.

Na primer:

Če je najnovejša zgoščena vrednost verige bloka TON na dan izračuna nagrade: 0hVwGb09xU6rhZhs9JMHU29KuqYATsVwd+96R8X6wF4=,

  • bo Binance odstranil črke abecede, da bi dobili: 009692996864
  • Nato bomo kot zmagovalno zaporedje upoštevali zadnjih 9 števk: 692996864

2. Kako uporabimo multiplikativno zgoščevanje vrednosti za naslov uporabnika?

Binance bo za določitev naslova denarnice zmagovalnega uporabnika (ali uporabnikov) uporabil multiplikativno formulo hash (podobno kot Java `hashCode()`) »h = 31 × h + vrednost[i]«.

Izračun:

1. Pretvorite niz »0x22eEC85ba6a5cD97eAd4728eA1c69e1D9c6fa778« v male črke, da dobite »0x22eec85ba6a5cd97ead4728ea1c69e1d9c6fa778«, nato izračunajte kodo zgoščene vrednosti.

2. Vrednost vsakega znaka je določena z lastno kodo ASCII:

  • '0' ima vrednost 48;
  • 'x' ima vrednost 120;
  • '2' ima vrednost 50;
  • 'e' ima vrednost 101;
  • 'c' ima vrednost 99;
  • '8' ima vrednost 56;
  • '5' ima vrednost 53;
  • 'b' ima vrednost 98;
  • 'a' ima vrednost 97;
  • '6' ima vrednost 54;
  • 'd' ima vrednost 100;
  • '9' ima vrednost 57;
  • '7' ima vrednost 55.

3. Inicializacija zgoščene vrednosti: h = 0

4. Obdelajte prvi znak "0":

  • h = 31 × h + 48
  • h = 31 × 0 + 48
  • h = 48

5. Obdelajte drugi znak "x":

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

6. Obdelajte tretji znak "2":

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

7. Obdelajte četrti znak "2":

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

8. Obdelajte peti znak "e":

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

9. Obdelajte šesti znak "e":

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

10. Obdelajte sedmi znak "c":

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

11. Poenostavljena obdelava preostalih znakov  

Nadaljujte z obdelavo preostalih znakov po zgoraj opisanih korakih, dokler ne obdelate vseh znakov. Končna zgoščena vrednost, h, mora biti celo število.  

12. Da bi poskrbeli, da zgoščena vrednost ne bo negativna, uporabimo bitwise, skupaj z "0x7fffffffff": "h in 0x7fffffffff".  

13. Pri uporabi tega algoritma bo zgoščena vrednost naslova TON število med 0 in 2147483647. 

3. Kako ustvariti loterijsko zaporedje uporabnika?

Naslov denarnice vsakega uporabnika se pretvori v zgoščeno vrednost, da se izračuna loterijsko zaporedje:

[Zmagovalno zaporedje – zgoščena vrednost naslova] = uporabnikovo loterijsko zaporedje

4. Kako določiti zmagovalce?  

Družba Binance bo loterijsko zaporedje vsakega uporabnika razvrstila po naraščajočem vrstnem redu in izbrala določeno število zmagovalnih zaporedij glede na pravila kampanje. 

V primeru enakega števila zmagovalnih točk (npr. če imata dva ali več uporabnikov enako loterijsko zaporedje) bo Binance za določitev razvrstitve uporabnikov uporabil čas dokončanja naloge. Čim prej uporabnik opravi nalogo, tem višja je njegova uvrstitev.

  • Pri naslovih, katerih zgoščena vrednost je enaka ali ima več od 10 števk, se odstrani deseta števka.
  • Če je zgoščena vrednost manjša od 10 števk, se spremembe ne izvedejo.

Nato se izračuna absolutna razlika med zgoščenimi vrednostmi naslovov uporabnikov in zmagovalnim zaporedjem. Družba Binance bo loterijsko zaporedje vsakega uporabnika razvrstila po naraščajočem vrstnem redu, pri čemer bo zmagalo manjše loterijsko zaporedje.

Na primer:

  • Naslov uporabnika A vsebuje 10 števk (1023456780). Po odstranitvi desete števke je njihovo loterijsko zaporedje 102345678.
  • Naslov uporabnika B vsebuje 9 števk (201154321). Za prilagoditev njegovega loterijskega zaporedja niso potrebne nobene spremembe.

Kako določiti zmagovalca:

  • Zmagovalno zaporedje = 692996864
  • Loterijski rezultat uporabnika A = |692996864 – 102345678| = 590651186
  • Loterijski rezultat uporabnika B = |692996864 – 201154321| = 491842543

Ker je zaporedje 491842543 manjše, zmaga uporabnik B.

Registrirajte se zdaj – pridobite do 100 USDT popusta na pristojbino za trgovanje (za preverjene uporabnike)