Ukusebenzisa i-oracle engacwangciswanga usebenzisa umzekelo welotho

Ngenye intsasa ndadibana nenqaku elithetha isiqinisekiso senani lejenereyitha kwiqonga lamaza blockchain.

Umfanekiso opheleleyo wawucacile, kodwa indlela ethile yokuphumeza yayingekho. Ezinye iikhowudi, imisayino, yintoni, phi, ngoba?

Ukubonisana okuninzi kunye nombhali we-oracle, ngenxa yoko, kwakunokwenzeka ukudibanisa ingqiqo yokudweba (iphunyezwe kwi-PHP) kunye ne-algorithm yokufumana inombolo engahleliwe.

  1. Ekuqaleni kwetumente / ngeenxa zonke, sicela inxalenye yokuqala yekhowudi (R-code) kwi-oracle.

    Okwangoku, akukho lwazi malunga nenani labadlali, inani leendawo zamabhaso, ubungakanani bentlawulo yebhaso, okanye ubukho belotho ngokubanzi. I-oracle, ngentengiselwano, ikhupha ikhowudi yomntu engakhethiyo, enokuthi isetyenziswe kube kanye kuphela ngabo bayicelileyo. Ngendlela, i-R-code "inokuthengwa" (ithetha iindleko zesicelo sokuthengiselana + imbuyekezo kwi-oracle ye-transaction yempendulo, le mali malunga ne-$ 0.015 kwinqanaba langoku, ikhowudi ngokwayo ikhutshwa ngaphandle kwentlawulo. ) amaxesha amaninzi kwangaphambili, ukuze ungalindi ukufunyanwa kwentengiselwano yempendulo kamva. Ndenze ibuffer encinci ehlaziywa rhoqo kwisiseko sedatha.

  2. Itumente idla ngokuhlala iibhloko ezingama-60 zeqonga le-Waves blockchain, okwangoku imalunga neyure enye. Itumente ithathwa njengegqityiwe kwaye ivaliwe ukuba emva kweebhloko ze-1 kukho ubuncinane amatikiti amabini kuyo, ngaphandle koko ixesha lomsebenzi wetumente liyandiswa kwiibhloko ze-60 ezilandelayo.
  3. Ngokukhawuleza emva kokuba itumente ivaliwe, sivelisa kwaye sithumele ukuthengiselana komhla (sikwahlawula ikhomishini malunga ne-$ 0.005 kuyo), ukuba kuyimfuneko, ezininzi, apho zonke iimeko zomzobo zirekhodwa kunye noluhlu olu-odolweyo lwabadlali (amatikiti) apho kufuneka sikhethe abaphumeleleyo.
  4. Kweli nqanaba, sele sinenxalenye yokuqala yekhowudi (R-code) kunye ne-ID yomhla wokuthengiselana (TXID). Sibathumela ukuba basayinwe kwi-oracle ngendlela yokudibanisa (R-code + TXID), kwakhona sihlawula ikhomishini + imbuyekezo. I-oracle ihlola idatha efunyenweyo yodwa kunye neyodwa, kwaye ekuphenduleni ithumela inxalenye yesibini yekhowudi (i-S-code) kwifomathi ye-sha256, eyona nto iqala ngayo i-random number generator.
  5. Ukufumana inani elingakhethiyo eliya kubonisa inani lolandelelwano lwetikiti eliphumeleleyo, siguqula ikhowudi ye-S ukusuka kwidatha yokubini ye-sha256 kwi-hexadecimal (HEX) yokumelwa. Emva koko kwisiphumo somtya we-HEX, sifumana inombolo. Sifumana intsalela yokwahlula inani eliphumayo ngenani lamatikiti (all_tickets) kwaye songeze i-1 kwisiphumo (ukufumana inombolo 1 phambi kokuba onke_amatikiti). Ngenxa yoko, sifumana inombolo yolandelelwano yophumeleleyo.
  6. Ukuba, ngokwemiqathango yomzobo, kukho abaphumeleleyo abaninzi, ngoko siphinda imisebenzi yangaphambili kwisixa esilingana nenani leendawo zamabhaso. Kule meko, ixesha ngalinye sisusa kuluhlu itikiti esele liphumelele kwaye linciphisa onke amatikiti nge-1, kwaye endaweni ye-S-code sibonisa inombolo yangaphambili efunyenweyo.

Makhe sijonge umzekelo wokwenyani, itumente enguNombolo 119:

Ewonke amatikiti asi-7 (onke_amatikiti)
Itikiti lixabisa iingqekembe ezingama-50 (Ukubheja)
Umrhumo womdlalo 10% (umrhumo)

Ngokwemiqathango yelotho, i-30% iya kwimali yebhaso, i.e. kule meko, amatikiti ama-2 kufuneka afumane ibhaso, ubukhulu bawo bubalwa ngokwefomula (Bet * all_tickets-Fee)/2.

1. Kufunyenwe ikhowudi engu-R: RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE

2. Emva kokuba i-tumente ivaliwe, sinoluhlu lwamathikithi ngendlela yeebini: inombolo + idilesi (idilesi yesikhwama esivela kuyo intlawulo yokuthatha inxaxheba kwitumente). Nceda uqaphele ukuba iidilesi zinokuphinda-phindwa, oku kuthetha ukuba umthathi-nxaxheba omnye uthenge amatikiti amaninzi kwitumente enye, oku akuthintelwanga yimigaqo.

Umhla wentengiselwano uthunyelwe: 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

3. Ikhowudi ye-S eceliweyo: FTF3uRyaa4F2uAyD6z5a3CNbTXbQLc7fSR6CFNVjgZYV ngezimvo (R-code + TXID):
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S

4. Kufunyenwe ikhowudi ye-S: Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC

5. Kuye kwamiselwa abaphumeleleyo.

6. Iintlawulo ezithunyelweyo

Ngenxa yoko, sinokurekhodwa kwenyathelo ngenyathelo lenkqubo yokudweba ibhaso kwi-blockchain enekhono lokuyijonga nangaliphi na ixesha. Kuphantse kungenzeki ukuba umququzeleli asebenzise iziphumo; ubuncinci, akusayi kuphinda kube lula ukwenza oko ungaqatshelwa.

determine the winner β„– 1

All_tickets:
Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:145
Index: 5 Ticket:147
Index: 6 Ticket:149
Index: 7 Ticket:151

1. bin -> hex ( bin2hex(sha256(S-code)) ): Ri89jHB4UXZDXY6gT1m4LBDXGMTaYzHozMk4nxiuqVXdC -> 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596

2. hex -> gmp number: 0xdaf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 99037963059744689166154019807924045947962565922868104113173478160267437352342

3. gmp -> modulo (mod=7): 99037963059744689166154019807924045947962565922868104113173478160267437352342 -> 4

4. modulo -> ticket: 4 -> 145

determine the winner β„– 2

All_tickets:

Index: 1 Ticket:139
Index: 2 Ticket:141
Index: 3 Ticket:143
Index: 4 Ticket:147
Index: 5 Ticket:149
Index: 6 Ticket:151

1. bin -> hex ( bin2hex(sha256(previous hex)) ): daf5802953dcb27f89972e38e8900b898733f6a613e6e1c6c5491362c1832596 -> 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0
2. hex -> gmp number: 0x9560e77525e9ea2db92cdb8484dc52046ccafac7c719b8859ff55f0eb92834a0 -> 67565829218838067182838043983962684143266386786567427968312120473742580659360
3. gmp -> modulo (mod=6): 67565829218838067182838043983962684143266386786567427968312120473742580659360 -> 1
4. modulo -> ticket: 1 -> 139

End.

umthombo: www.habr.com

Yongeza izimvo