Sawubona wonke umntu!
Kutshanje, iWaves Labs
Sakhetha ityala DAO kuba
Saqala ngomzekelo olula kwi
Makhe sijonge lo mzekelo, uvavanyo lwengqikelelo kwaye sijonge izinto ezingaqhelekanga:
Masibe noAlice - uMnini we-dApp
UBoob kunye noCooper ngamaqabane ka-Alice, abaququzeleli be-Alice-BC DAO
UNeli ngumnini weshishini ofuna inkxaso-mali
Ibhanki - ibhanki ehambisa iithokheni
Inqanaba 1. Ukuqaliswa kweebhalansi
Ukuze ufumane amathokheni kwinethiwekhi yovavanyo lwamaza, kufuneka uqhagamshelane
Ungayifumana idilesi kwi-IDE ngokuvula iinkcukacha zeakhawunti yakho.
Sibalaselisa iBhanki ye-10 WAVES. Emva koko sijonga ukuba bafikile ngebhloko kunye nesikhangeli sokuthengiselana:
Ngoku makhe sisasaze amathokheni ukusuka ebhankini ukuya kwabanye abathathi-nxaxheba. (Amanqaku: Zonke iintengiselwano kwinethiwekhi yamaza azikho simahla, ngoko ke ibhalansi encinci elungileyo iyafuneka kubo bonke abathathi-nxaxheba ukuba benze ukuthengiselana).
1 AMAZA = 100000000 iiyunithi (amaza), kuba amanani anokuba yinani elipheleleyo
I-0.01 WAVES (Intlawulo yeTransaction) = 1000000
IBhanki -> [3 WAVES] -> Alice, ngeTransferTransaction (Uhlobo: 4).
Sijonga ukuba i-env.SEED ekusayinwe kuyo intengiselwano iyahambelana neBhanki yethu:
οΏΌ
Ukuba awunalo ibinzana lembewu elihambelanayo, vele utshintshele kulo kwi-Akhawunti yeeakhawunti kwaye ujonge kwakhona.
Emva koku, sidala, sibhengeze kwaye sisayine intengiselwano yokudluliselwa kwe-3 WAVES Alice.
Unokufumana kwakhona idatha ka-Alice ngokusebenzisa i-env.accounts variable. Ukubala kuqala ku-0, ngoko ke u-Alice yi-env.accounts[1].
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Isiphumo sinokuqwalaselwa kwakhona kwisikhangeli, ikhonkco kuyo iya kubuyiselwa kuthi ngokukhawuleza emva kokubulawa
Siqinisekisa ukuba ibhalansi ka-Alice izaliswa yi-3 WAVES, kwaye ibhalansi yebhanki ihlala kwi-10 - 3 - 0.01 = 0.699.
Sithumela iBoob kunye neCooper 3 WAVES nganye, kunye noNeli, Xena noMark 0.2 WAVES nganye ngendlela efanayo.
(Amanqaku: Senze impazamo yomlinganiswa omnye saza sathumela uNeli 0.02 WAVES. Lumka!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Emva kokugcwalisa iibhalansi zabo bonke abathathi-nxaxheba, sibona:
Inqanaba 2. Yenza i-akhawunti ye-dApp
Siye savumelana ukuba u-Alice uza kuba ngumdali kunye nomnini wesicelo esinatyisiweyo.
Yiya kwiiAkhawunti, zisete njenge-SEED kwaye ujonge env.SEED iyahambelana no-Alice.
Makhe sizame ukufaka iskripthi esilula kakhulu (inkontileka) kwi-akhawunti ka-Alice.
Abafowunelwa be-Smart kuma-Waves zizibikezelo ezithintela okanye ezivumela naluphi na uhlobo lwentengiselwano ephumayo ukuba yenzeke phantsi kweemeko ezithile. Kule meko, le meko HLALA. Ikhowudi yekhontrakthi yinyani. Fowunela deploy().
Umrhumo ngokwesetiScript yentengiselwano 1400000/100000000 = 0.014 AMAZA. U-Alice une-2.986 WAVES eseleyo kwibhalansi yakhe.
Ngoku makhe sizame ukufaka ingqiqo yekhontrakthi entsonkothileyo kwiakhawunti ka-Alice, echazwe kuyo
Ride4Dapps ngoku ibandakanya iintlobo ezi-2 zezichasiselo ezintsha:
- @Iyabizwa(i) β ithatha njenge parameter i, idata malunga nokuba yeyiphi iakhawunti ebizwa/esayine intengiselwano. Sisiphumo salo msebenzi omisela utshintsho kwimeko ye-akhawunti ye-dApp. Ezinye iiakhawunti zinokudala utshintshiselwano kwaye zenze imisebenzi ngolu phawu kwaye zitshintshe imeko yeakhawunti ye-dApp.
- @Umqinisekisi(tx) -Isiqinisekisi sentengiselwano kunye nepharamitha ye-tx yentengiselwano. Ingqamana nengqiqo yesivisa esuka kwi RIDE. Kukule ntetho apho unokuvumela okanye uthintele utshintsho olongezelelweyo kwingqiqo yeekontraki ezihlakaniphile kwi-akhawunti ye-dApp.
Masenze I-dApp i-akhawunti njenge-wallet eqhelekileyo kubo bonke abathathi-nxaxheba.
Ukujonga ukuba yeyiphi ikhontrakthi esebenzayo ngoku kwiakhawunti yakho, unokukopa ikhowudi ye-base64 yekhontrakthi ehlakaniphile kumhloli webhloko kwaye uyiqaphele usebenzisa i-decompiler (
Siqinisekisa ukuba ingqiqo yekhontrakthi ehlakaniphile ihambelana noko sikulindele.
U-Alice une-2.972 WAVES eseleyo kwibhalansi yakhe.
Le dApp igcina umkhondo wokuba umthathi-nxaxheba ngamnye wenza igalelo elingakanani kwingxowa-mali eqhelekileyo esebenzisa inkqubo utshintshiselwano lwedatha β DataEntry(currentKey, newAmount), apho i-currentKey yi-akhawunti ebiza umsebenzi wediphozithi, kunye ne-newAmount lixabiso lemali eseleyo.
UBoob kunye noCooper benza iidipozithi zabo kwiakhawunti ye-dApp nge-1 WAVES.
Senza impazamo kwaye intengiselwano ayihambi. Ekubeni, nangona sasiqinisekile ukuba senza intengiselwano egameni likaBob, senze impazamo kwisalathiso saza sabonisa i-akhawunti yeBhanki engenaso isivumelwano esihlakaniphile. Kufanelekile ukuqaphela inqaku elibalulekileyo apha - kukho umrhumo wokuzama okungaphumelelanga ukuqalisa ukuthengiselana ayinakususwa! U-Alice une-2.972 WAVES eseleyo kwibhalansi yakhe. UBob unamaza ama-3.
UBob uthumele i-1 WAVES kwiAkhawunti ye-dApp.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
UBob une-1.99 WAVES eseleyo. Oko kukuthi, uBob uhlawule ikhomishini ye-0.01 WAVES
U-Alice wayene-2.972 WAVES kwibhalansi yakhe, ngoku yi-3.972. Intengiselwano nayo yabhaliswa kwi-akhawunti ye-Alice, kodwa akukho khomishini yahlawuliswa kwi-Akhawunti ye-dApp (Alice).
Emva kokuba iCooper iphinde yazalisa iakhawunti, ibhalansi ka-Alice yaba yi-4.972 WAVES.
Unokufumanisa ukuba ngubani ongabanini bama-WAVES amangaphi kwisipaji esiqhelekileyo kwisihloli sebhloko kwithebhu yeDatha.
U-Cooper watshintsha ingqondo yakhe malunga nokushiya isixa se-1 WAVES kwi-wallet jikelele kwaye wagqiba ekubeni ahoxise isiqingatha sobudlelwane. Ukwenza oku, kufuneka abize umsebenzi wokurhoxisa.
Nangona kunjalo, sasingalunganga kwakhona, kuba umsebenzi wokurhoxisa uneeparamitha ezahlukeneyo ngokupheleleyo kunye nesiginitsha eyahlukileyo. Xa uyila iikontraki ezihlakaniphile kwi-RIDE4DAPPS kufuneka ubeke ingqalelo kule ngongoma
I-Cooper ngoku ine-2.48 WAVES kwi-balance sheet yayo. Ngokufanelekileyo, 3 WAVES - 1 - 0.01, kwaye emva koko + 0.5 - 0.01. Ngokufanelekileyo, umnxeba ngamnye wokufaka kunye nokurhoxisa iindleko ze-0.01 WAVES. Ngenxa yoko, amangeno kwitheyibhile yabanini be-dApps atshintshile ngolu hlobo lulandelayo.
UBob naye wagqiba ekubeni ahoxise imali ethile kwi-wallet ekwabelwana ngayo, kodwa wenza iphutha waza wazama ukuhoxisa i-1.5 WAVES.
Nangona kunjalo, ikhontrakthi ehlakaniphile yayinokukhangela le meko.
U-Xena ungumkhohlisi, wazama ukurhoxisa i-1 WAVES kwiakhawunti iyonke.
Nakuye akuzange kumsebenzele.
Kwinxalenye elandelayo, siza kujonga imiba entsonkothileyo enxulumene nokungafezeki kweakhawunti ye-Alice dApp.
umthombo: www.habr.com