Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Hello aliyense!

Posachedwapa, Waves Labs adalengeza mpikisano wamadivelopa omwe adadzipereka pakutulutsidwa kwa RIDE smart contract chilankhulo chowonjezera pamapulogalamu okhazikitsidwa a Ride4Dapps mumaneti oyesa!

Tinasankha mlandu wa DAO chifukwa Ventuary akukonzekera kupanga ma dApp ndi ntchito zamagulu: kuvota, kusaka ndalama, kasamalidwe ka trust, etc.
Tinayamba ndi chitsanzo chosavuta mu Magawo a Q&A ndi kukwera IDE - chitsanzo ndi adagawana chikwama.

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 bomba ndikuwonetsa adilesi yotumizira zizindikiro.
Mutha kupeza adilesi mu IDE potsegula zambiri za akaunti yanu.
Tikuwonetsa Bank 10 WAVES. Kenako timayang'ana kuti adafika pa block ndi msakatuli wotsatsa: wowerenga

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:
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)
οΏΌ
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].
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))

Zotsatira zitha kuwonedwanso mu msakatuli, ulalo wa izo udzabwezeredwa kwa ife titangomaliza kuphedwa zochita.

Timaonetsetsa kuti ndalama za Alice zimadzadzidwanso ndi 3 WAVES, ndipo ndalama za banki zimakhala 10 - 3 - 0.01 = 0.699.
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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:
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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 ().

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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 chitsanzo

Ride4Dapps tsopano ili ndi mitundu 2 yatsopano yofotokozera:

  1. @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.
  2. @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.
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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 (Mwachitsanzo)
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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.
Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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 }]}))

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Bob watsala ndi 1.99 WAVES. Ndiye kuti, Bob adalipira 0.01 WAVES Commission

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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.

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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.

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Komabe, tinali kulakwitsa kachiwiri, popeza ntchito yochotsa ili ndi magawo osiyanasiyana komanso siginecha yosiyana. Mukapanga makontrakitala anzeru pa RIDE4DAPPS muyenera kulabadira mfundo iyi

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

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.

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Bob nayenso adaganiza zochotsa ndalama mu chikwama chomwe adagawana, koma adalakwitsa ndikuyesa kuchotsa 1.5 WAVES.

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Komabe, mgwirizano wanzeru unali ndi cheke cha izi.

Xena ndi scammer, anayesa kuchotsa 1 WAVES mu akaunti yonse.

Kuphunzira kulemba makontrakitala anzeru a Waves pa RIDE ndi RIDE4DAPPS. Gawo 1 (Chikwama cha ogwiritsa ntchito ambiri)

Nayenso sizinamuyendere bwino.

Mu gawo lotsatira, tiwona zovuta zovuta zokhudzana ndi kupanda ungwiro kwa Akaunti ya Alice dApp.

Source: www.habr.com

Kuwonjezera ndemanga