Ngenye intsasa ndadibana nenqaku elithetha
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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:
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:
3. Ikhowudi ye-S eceliweyo:
RdbAiAhKhveAtR4eyTKq75noMxdcEoxbE6BvojJjM13VE 82JTMzhHM5xEA2fQ9Qscd5QAJU3DAd8nShLjdVHTer5S
4. Kufunyenwe ikhowudi ye-S:
5. Kuye kwamiselwa abaphumeleleyo.
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