Sawubona wonke umuntu!
Muva nje, i-Waves Labs
Sikhethe icala le-DAO ngoba
Siqale ngesibonelo esilula ku
Ake sibheke lesi sibonelo, sihlole ama-hypotheses futhi sibheke izinto ezingavamile:
Ake sibe no-Alice - dApp Owner
U-Boob no-Cooper bangabalingani baka-Alice, abasunguli ababambisene be-Alice-BC DAO
UNeli ungumnikazi webhizinisi odinga ukuxhaswa ngezimali
Ibhange - ibhange elisabalalisa amathokheni
Isigaba 1. Ukuqaliswa kwamabhalansi
Ukuze uthole amathokheni kunethiwekhi yokuhlola amagagasi, udinga ukuxhumana
Ungathola ikheli ku-IDE ngokuvula imininingwane ye-akhawunti yakho.
Sigqamisa i-Bank 10 WAVES. Bese sibheka ukuthi bafike ngesiphequluli se-block and transaction:
Manje ake sisabalalise amathokheni ebhange kwabanye ababambiqhaza. (Amanothi: Konke ukuthengiselana kunethiwekhi yamagagasi akumahhala, ngakho-ke ibhalansi encane ephozithivu iyadingeka kubo bonke ababambiqhaza ukwenza ukuthengiselana).
1 WAVES = 100000000 amayunithi (amaza), njengoba amanani angaba inombolo ephelele kuphela
0.01 WAVES (Imali Yokwenziwayo) = 1000000
Ibhange -> [3 WAVES] -> Alice, via TransferTransaction (Uhlobo: 4).
Siyahlola ukuthi i-env.SEED okusayinwe kuyo imisebenzi iyafana neBhange lethu:
οΏΌ
Uma ungenayo ibinzana lembewu elifanayo, vele ushintshele kulo kuthebhu ethi Ama-akhawunti bese uhlola futhi.
Ngemuva kwalokhu, sidala, simemezele futhi sisayine ukuthengiselana kokudluliselwa kwe-3 WAVES Alice.
Ungathola futhi idatha ka-Alice ngokusebenzisa i-env.accounts variable. Ukufaka izinombolo kuqala ku-0, ngakho-ke u-Alice uyi-env.accounts[1].
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Umphumela ungabuye ubonwe esipheqululini, isixhumanisi kuso sizobuyiselwa kithi ngokushesha ngemva kokubulawa
Siqinisekisa ukuthi ibhalansi ka-Alice igcwaliswa ngamagagasi angu-3, ββfuthi ibhalansi yasebhange ihlala ku-10 - 3 - 0.01 = 0.699.
Sithumela i-Boob ne-Cooper 3 WAVES ngalinye, kanye noNeli, Xena kanye noMark 0.2 WAVES ngayinye ngendlela efanayo.
(Amanothi: Senze iphutha lohlamvu olulodwa futhi sathumela uNeli 0.02 WAVES. Qaphela!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Ngemva kokugcwalisa amabhalansi abo bonke ababambiqhaza, sibona:
Isigaba 2. Dala i-akhawunti ye-dApp
Sivumelene ngokuthi u-Alice uzoba ngumdali nomnikazi wesicelo esabiwe.
Yiya kokuthi Ama-Akhawunti, yibeke njenge-SEED bese uhlola okuthi env.SEED kuyafana no-Alice.
Ake sizame ukufaka umbhalo olula (inkontileka) ku-akhawunti ka-Alice.
Oxhumana nabo abahlakaniphile ku-Waves bayizilandiso ezivimbela noma ezivumela noma yiluphi uhlobo lomsebenzi ophumayo ukuthi lwenzeke ngaphansi kwezimo ezithile. Kulesi simo, lesi simo sihlala njalo. Ikhodi yenkontileka iyiqiniso. Call deploy().
Inkokhelo ngokusethwa ngakunye kwe-setScript 1400000/100000000 = 0.014 WAVES. U-Alice unamagagasi angu-2.986 asele kubhalansi yakhe.
Manje ake sizame ukufaka i-logic yenkontileka ehlakaniphile ku-akhawunti ka-Alice, echazwe ku
I-Ride4Dapps manje ihlanganisa izinhlobo ezi-2 zezichasiselo ezintsha:
- @Iyashayela(i) β kuthatha njengepharamitha i, idatha mayelana nokuthi iyiphi i-akhawunti ebizwa/esayine okwenziwayo. Kungumphumela walo msebenzi onquma ushintsho esimweni se-akhawunti ye-dApp. Amanye ama-akhawunti angadala ukuthengiselana futhi enze imisebenzi ngalesi sichasiselo futhi aguqule isimo se-akhawunti ye-dApp.
- @Verifier(tx) - Isiqinisekisi sokwenziwe ngepharamitha ye-tx yokuthengiselana. Ihambisana ne-logic yesilandiso esivela ku-RIDE. Kungalesi sisho lapho ungavumela noma uvimbele izinguquko ezengeziwe kumqondo wezinkontileka ezihlakaniphile ku-akhawunti ye-dApp.
Asenzeni lokhu I-dApp i-akhawunti njengesikhwama esivamile sabo bonke ababambiqhaza.
Ukuze uhlole ukuthi iyiphi inkontileka esebenzayo njengamanje ku-akhawunti yakho, ungakopisha ikhodi ye-base64 yenkontileka ehlakaniphile kusihloli sebhulokhi futhi uyibone usebenzisa i-decompiler (
Siyaqinisekisa ukuthi ingqondo yenkontileka ehlakaniphile ifana nalokho esikulindele.
U-Alice unamagagasi angu-2.972 asele kubhalansi yakhe.
Le dApp igcina umkhondo wokuthi umhlanganyeli ngamunye ufaka malini esiKhwameni somphakathi esebenzisa indlela transaction yedatha β DataEntry(currentKey, newAmount), lapho i-currentKey kuyi-akhawunti ebiza umsebenzi wediphozi, futhi i-newAmount iyinani lebhalansi egcwaliswe kabusha.
UBoob noCooper bafaka imali yabo ku-akhawunti ye-dApp ngamagagasi angu-1.
Senza iphutha futhi umsebenzi awudluli. Njengoba, naphezu kweqiniso lokuthi sasiqiniseka ukuthi sasenzela u-Bob umsebenzi, senze iphutha kunkomba futhi sabonisa i-akhawunti yaseBhange engenaso inkontileka ehlakaniphile. Kuhle ukuqaphela iphuzu elibalulekile lapha - kunenkokhelo yemizamo engaphumelelanga yokuqala ukuthengiselana ayikwazi ukususwa! U-Alice unamagagasi angu-2.972 asele kubhalansi yakhe. U-Bob unamagagasi angu-3.
U-Bob uthumele i-WAVES engu-1 ku-Akhawunti ye-dApp.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
U-Bob usenamagagasi angu-1.99 asele. Okusho ukuthi, u-Bob ukhokhe ikhomishini engu-0.01 WAVES
U-Alice wayeno-2.972 WAVES kubhalansi yakhe, manje isingu-3.972. Umsebenzi nawo ubhaliswe ku-akhawunti ye-Alice, kodwa ayikho ikhomishini ekhokhiswe ku-Akhawunti ye-dApp (Alice).
Ngemuva kokuthi uCooper ephinde wagcwalisa i-akhawunti, ibhalansi ka-Alice yaba ngu-4.972 WAVES.
Ungathola ukuthi mangaki umnikazi wama-WAVES ku-wallet evamile kusihloli sebhulokhi kuthebhu Yedatha.
U-Cooper washintsha umqondo wakhe mayelana nokushiya inani le-1 WAVES esikhwameni esijwayelekile futhi wanquma ukuhoxisa ingxenye yobudlelwane. Ukuze enze lokhu, kufanele abize umsebenzi wokuhoxisa.
Nokho, besinephutha futhi, njengoba umsebenzi wokuhoxa unemingcele ehluke ngokuphelele nesiginesha ehlukile. Uma uklama izinkontileka ezihlakaniphile ku-RIDE4DAPPS kufanele unake leli phuzu
U-Cooper manje unamagagasi angu-2.48 ekhasini lakhe lebhalansi. Ngakho, 3 WAVES - 1 - 0.01, bese + 0.5 - 0.01. Ngokufanelekile, ikholi ngayinye yokufaka nokuhoxisa ibiza i-0.01 WAVES. Ngenxa yalokho, okufakwe kuthebula labanikazi be-dApps kushintshe kanje.
U-Bob uphinde wanquma ukuhoxisa imali ethile esikhwameni esabelwe, kodwa wenza iphutha futhi wazama ukuhoxisa ama-WAVES angu-1.5.
Nokho, inkontileka ehlakaniphile yayinesheke lalesi simo.
U-Xena ungumkhohlisi, uzame ukukhipha ama-WAVES angu-1 ku-akhawunti ephelele.
Nakuye akuzange kumsebenzele.
Engxenyeni elandelayo, sizobheka izinkinga eziyinkimbinkimbi ezihlobene nokungapheleli kwe-akhawunti ye-Alice dApp.
Source: www.habr.com