Hello aliyense!
Posachedwapa, Waves Labs
Tinasankha mlandu wa DAO chifukwa
Tinayamba ndi chitsanzo chosavuta mu
Tiyeni tiwone chitsanzo ichi, yesani ma hypotheses ndikuwona zosamvetseka:
Tikhale ndi Alice - dApp Owner
Boob ndi Cooper ndi othandizana nawo a Alice, oyambitsa nawo Alice-BC DAO
Neli ndi mwini bizinesi yemwe amafunikira ndalama
Bank - banki yomwe imagawira zizindikiro
Gawo 1. Kuyambitsa masikelo
Kuti mulandire ma tokeni pa intaneti yoyeserera mafunde, muyenera kulumikizana
Mutha kupeza adilesi mu IDE potsegula zambiri za akaunti yanu.
Tikuwonetsa Bank 10 WAVES. Kenako timayang'ana kuti adafika pa block ndi msakatuli wotsatsa:
Tsopano tiyeni tigawire zizindikiro kuchokera kubanki kwa ena onse. (Zindikirani: Zochita zonse pamaneti wamafunde si zaulere, chifukwa chake ndikofunikira kuti onse omwe atenga nawo mbali azitha kuchita nawo malonda).
1 WAVES = 100000000 mayunitsi (wavelets), popeza kuchuluka kumatha kuphatikizika
0.01 WAVES (Ndalama Zogulitsa) = 1000000
Bank -> [3 WAVES] -> Alice, kudzera TransferTransaction (Mtundu: 4).
Timayang'ana kuti env.SEED yomwe ma transaction amasaina ikufanana ndi Banki yathu:
οΏΌ
Ngati mulibe mawu ofananira ndi mbewu, ingosinthani pazolemba za Akaunti ndikuwunikanso.
Pambuyo pa izi, timapanga, kulengeza ndi kusaina kugulitsa kwa 3 WAVES Alice.
Mutha kudziwanso zambiri za Alice kudzera pa env.accounts variable. Kuwerengera kumayambira pa 0, kotero Alice ndi env.accounts[1].
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Zotsatira zitha kuwonedwanso mu msakatuli, ulalo wa izo udzabwezeredwa kwa ife titangomaliza kuphedwa
Timaonetsetsa kuti ndalama za Alice zimadzadzidwanso ndi 3 WAVES, ndipo ndalama za banki zimakhala 10 - 3 - 0.01 = 0.699.
Timatumiza Boob ndi Cooper 3 WAVES aliyense, ndi Neli, Xena ndi Mark 0.2 WAVES aliyense mofanana.
(Zindikirani: Tidalakwitsa pamtundu umodzi ndikutumiza Neli 0.02 WAVES. Samalani!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Pambuyo podzaza miyeso ya onse omwe atenga nawo mbali, tikuwona:
Gawo 2. Pangani akaunti ya dApp
Tidagwirizana kuti Alice ndiye amene adzapanga komanso mwiniwake wa ntchitoyo.
Pitani ku Maakaunti, ikani ngati SEED ndikuwona env.SEED ikufanana ndi Alice.
Tiyeni tiyese kukhazikitsa script yosavuta (mgwirizano) pa akaunti ya Alice.
Mafoni anzeru mu Waves ndi zolosera zomwe zimaletsa kapena kulola mtundu uliwonse wamalonda kuti uchitike munthawi zina. Pankhaniyi, chikhalidwe ichi NTHAWI ZONSE. Khodi ya mgwirizano ndi yowona. Kuitana kutumiza ().
Ndalama pa setiScript 1400000/100000000 = 0.014 WAVES. Alice ali ndi 2.986 WAVES otsala pamlingo wake.
Tiyeni tsopano tiyese kukhazikitsa mfundo zovuta zanzeru pa akaunti ya Alice, yofotokozedwa mu
Ride4Dapps tsopano ili ndi mitundu 2 yatsopano yofotokozera:
- @Kuyimba(i) - imatenga ngati parameter i, deta yomwe imatchedwa / kusaina malondawo. Ndi zotsatira za ntchitoyi zomwe zimatsimikizira kusintha kwa akaunti ya dApp. Maakaunti ena amatha kupanga zosinthana ndikuchita ntchito ndi mawu awa ndikusintha momwe akaunti ya dApp ilili.
- @Verifier(tx) - Wotsimikizira transaction ndi transaction tx parameter. Zimayenderana ndi mawu ofotokozera kuchokera ku RIDE. Ndi m'mawu awa momwe mungalole kapena kuletsa kusintha kwina kwa mapangano anzeru pa akaunti ya dApp.
Tiyeni tichite dApp akaunti ngati chikwama wamba kwa onse otenga nawo mbali.
Kuti muwone kuti ndi contract iti yomwe ikugwira ntchito pa akaunti yanu, mutha kukopera nambala ya base64 ya contract yanzeru mu block explorer ndikuizindikira pogwiritsa ntchito decompiler (
Timaonetsetsa kuti malingaliro a mgwirizano wanzeru akugwirizana ndi zomwe tikuyembekezera.
Alice ali ndi 2.972 WAVES otsala pamlingo wake.
dApp iyi imayang'anira kuchuluka kwa omwe akutenga nawo mbali mu thumba la anthu onse pogwiritsa ntchito njira kusintha kwa data - DataEntry(currentKey, newAmount), pomwe currentKey ndi akaunti yomwe imayimbira ntchito yosungitsa ndalama, ndipo newAmount ndiye mtengo wamalipiro owonjezeredwa.
Boob ndi Cooper amasungitsa ndalama zawo ku akaunti ya dApp ndi 1 WAVES.
Timalakwitsa ndipo ntchitoyo sidutsa. Popeza, ngakhale tinali otsimikiza kuti tikuchita malonda m'malo mwa Bob, tidalakwitsa mlozera ndikuwonetsa akaunti yakubanki yomwe ilibe mgwirizano wanzeru. Ndikofunikira kuzindikira mfundo yofunika apa - pali chindapusa cha kuyesa kosatheka kuyambitsa malonda sichingachotsedwe! Alice ali ndi 2.972 WAVES otsala pamlingo wake. Bob ali ndi 3 WAVES.
Bob adatumiza 1 WAVES ku Akaunti ya dApp.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
Bob watsala ndi 1.99 WAVES. Ndiye kuti, Bob adalipira 0.01 WAVES Commission
Alice anali ndi 2.972 WAVES pamlingo wake, tsopano ndi 3.972. Kugulitsa kudalembetsedwanso pa akaunti ya Alice, koma palibe ntchito yomwe idaperekedwa ku Akaunti ya dApp (Alice).
Cooper atabwezeretsanso akauntiyo, ndalama za Alice zidakhala 4.972 WAVES.
Mutha kudziwa omwe ali ndi ma WAVES angati mu chikwama wamba mu block Explorer mu tabu ya Data.
Cooper anasintha maganizo ake za kusiya kuchuluka kwa 1 WAVES pa chikwama wamba ndipo anaganiza kuchotsa theka la mgwirizano. Kuti achite izi, ayenera kuyitanira ntchito yochotsa.
Komabe, tinali kulakwitsa kachiwiri, popeza ntchito yochotsa ili ndi magawo osiyanasiyana komanso siginecha yosiyana. Mukapanga makontrakitala anzeru pa RIDE4DAPPS muyenera kulabadira mfundo iyi
Cooper tsopano ali ndi 2.48 WAVES pamasamba ake. Choncho, 3 WAVES - 1 - 0.01, ndiyeno + 0.5 - 0.01. Chifukwa chake, kuyimba kulikonse kusungitsa ndikuchotsa kumawononga 0.01 WAVES. Zotsatira zake, zolemba patebulo la eni ake a dApps zidasintha motere.
Bob nayenso adaganiza zochotsa ndalama mu chikwama chomwe adagawana, koma adalakwitsa ndikuyesa kuchotsa 1.5 WAVES.
Komabe, mgwirizano wanzeru unali ndi cheke cha izi.
Xena ndi scammer, anayesa kuchotsa 1 WAVES mu akaunti yonse.
Nayenso sizinamuyendere bwino.
Mu gawo lotsatira, tiwona zovuta zovuta zokhudzana ndi kupanda ungwiro kwa Akaunti ya Alice dApp.
Source: www.habr.com