Hello vose!
Munguva pfupi yapfuura, Waves Labs
Isu takasarudza iyo kesi yeDAO nekuti
Takatanga nemuenzaniso wakapfava mukati
Ngatitarisei muenzaniso uyu, edza kufunga uye tarisa zvimwe zvisinganzwisisike:
Ngativei naAlice - dApp Muridzi
Boob naCooper vadyidzani naAlice, vabatsiri veAlice-BC DAO
Neli muridzi webhizinesi anoda mari
Bhangi - bhangi rinogovera zviratidzo
Danho 1. Kutanga kwezviyero
Kuti ugamuchire ma tokens pawaves test network, unofanirwa kubata
Unogona kuwana kero muIDE nekuvhura account account yako.
Isu tinosimbisa Bank 10 WAVES. Zvadaro tinotarisa kuti vakasvika kuburikidza nebhuroka uye transaction browser:
Zvino ngatigovei tokens kubva kubhangi kune vamwe vatori vechikamu. (Zvinyorwa: Zvese zvekutengesa pamafungu network hazvisi zvemahara, saka chiyero chakanaka chinodiwa kune vese vatori vechikamu kuita kutengeserana).
1 WAVES = 100000000 mayunitsi (wavelets), sezvo uwandu huchingogona kuva huwandu.
0.01 WAVES (Transaction Fee) = 1000000
Bhengi -> [3 WAVES] -> Alice, kuburikidza neTransferTransaction (Type: 4).
Isu tinotarisisa kuti env.SEED panosainwa matransaction inoenderana neBhangi redu:
οΏΌ
Kana iwe usina mutsara wembeu unoenderana, ingochinja kwairi muAccounts tebhu wotarisa zvakare.
Mushure meizvi, isu tinogadzira, tinozivisa uye kusaina kutengeserana kwekufambisa kwe3 WAVES Alice.
Iwe unogona zvakare kutsvaga data yaAlice kuburikidza neiyo env.accounts inosiyana. Kuverenga kunotanga kubva pa0, saka Alice ndiye env.accounts[1].
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Mhedzisiro yacho inogona zvakare kucherechedzwa mubrowser, chinongedzo chairi chinodzoserwa kwatiri pakarepo mushure mekuurayiwa
Isu tinoita shuwa kuti chiyero chaAlice chinozadzikiswa ne3 WAVES, uye mari yebhangi inoramba iri pa10 - 3 - 0.01 = 0.699.
Isu tinotumira Boob uye Cooper 3 WAVES imwe neimwe, uye Neli, Xena naMako 0.2 WAVES imwe neimwe nenzira imwechete.
(Zvinyorwa: Takanganisa hunhu humwe chete ndokutumira Neli 0.02 WAVES. Ngwarira!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Mushure mekuzadzazve zviyero zvevose vatori vechikamu, tinoona:
Danho 2. Gadzira dApp account
Takabvumirana kuti Alice ndiye aizova musiki uye muridzi wedecentralized application.
Enda kuAccounts, isa seSEED uye tarisa env.SEED inowirirana naAlice.
Ngatiedzei kuisa iyo yakapfava script (chibvumirano) paakaundi yaAlice.
Smart contacts muWaves zvirevo zvinorambidza kana kubvumira chero rudzi rwekubuda kwekutengeserana kuitika pasi pemamwe mamiriro. Muchiitiko ichi, chirwere ichi CHEMA. Kodhi yekondirakiti ndeyechokwadi. Call deploy ().
Muripo pane setScript transaction 1400000/100000000 = 0.014 WAVES. Alice ane 2.986 WAVES asara pasara yake.
Ngatiedzei kuisa yakaomesesa yakangwara chibvumirano logic pane Alice account, inotsanangurwa mukati
Ride4Dapps ikozvino inosanganisira 2 marudzi ezvinyorwa zvitsva:
- @Callable(i) - inotora separameter i, data pamusoro peiyo account inonzi / yakasaina kutengeserana. Ndiyo mhedzisiro yebasa iri rinotarisa shanduko yemamiriro eiyo dApp account. Mamwe maakaundi anogona kugadzira kutengeserana uye kuita mabasa neichi chirevo uye kuchinja mamiriro eiyo dApp account.
- @Verifier(tx) - Transaction verifier ine transaction tx parameter. Inofambirana nechirevo che predicate kubva kuRIDE. Mukutaura uku ndiko kwaunogona kubvumidza kana kurambidza imwe shanduko kune logic yezvibvumirano zvakangwara pane dApp account.
Ngatiitei dApp account sechikwama chakajairwa kune vese vatori vechikamu.
Kuti utarise kuti ndechipi chibvumirano chiri kushanda paakaundi yako, unogona kukopa base64 kodhi yekontrakiti yakangwara mubhuroka yekuongorora uye woiziva uchishandisa decompiler (
Isu tinoita shuwa kuti iyo pfungwa yechibvumirano chakangwara inoenderana nezvatinotarisira.
Alice ane 2.972 WAVES asara pasara yake.
Iyi dApp inocherechedza kuti mutori wechikamu mumwe nemumwe anobatsira zvakadii kuhomwe yakajairika kuburikidza nemuchina data transaction - DataEntry (currentKey, newAmount), uko ikozvinoKey ndiyo account inodaidzira basa redhipoziti, uye newAmount kukosha kwesara yakazadzwa.
Boob naCooper vanoita madhipoziti avo kune dApp account ne1 WAVES.
Isu tinoita chikanganiso uye kutengeserana hakupfuuri. Sezvo, zvisinei nekuti takanga tine chokwadi chekuti takanga tichiita kutengeserana tichimiririra Bob, takakanganisa muindex uye takaratidza akaundi yeBhangi isina kondirakiti yakangwara. Zvakakosha kucherechedza poindi yakakosha pano - pane muripo wekuedza kusingabudiriri kutanga kutengeserana. haigoni kubviswa! Alice ane 2.972 WAVES asara pasara yake. Bob ane 3 WAVES.
Bob akatumira 1 WAVES kuAccount yedApp.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
Bob ane 1.99 WAVES asara. Kureva kuti, Bob akabhadhara 0.01 WAVES komisheni
Alice aive ne2.972 WAVES pasara yake, iko zvino yave 3.972. Kutengeserana kwakanyoreswawo paAlice account, asi hapana komisheni yakabhadhariswa kubva kudApp Account (Alice).
Mushure mekunge Cooper yazadza zvakare account, chiyero chaAlice chakava 4.972 WAVES.
Iwe unogona kuona kuti ndiani muridzi mangani maWAVES mune yakajairika wallet mune block muongorori muData tab.
Cooper akachinja pfungwa dzake nezvekusiya huwandu hwe1 WAVES pachikwama chikuru uye akafunga kubvisa hafu yehukama. Kuti aite izvi, anofanira kudana kubvisa basa.
Nekudaro, isu takanga takanganisa zvakare, sezvo iyo yekubvisa basa ine akasiyana ma paramita uye siginecha yakasiyana. Paunenge uchigadzira akangwara zvibvumirano paRIDE4DAPPS iwe unofanirwa kuterera kune iyi poindi
Cooper parizvino ine 2.48 WAVES pane yayo bharanzi sheet. Saizvozvo, 3 MAFUNGU - 1 - 0.01, uyezve + 0.5 - 0.01. Saizvozvo, kufona kwega kwega kuisa uye kubvisa kunodhura 0.01 WAVES. Nekuda kweizvozvo, izvo zvinopinda mutafura yevaridzi vedApps zvakachinja seinotevera.
Bob akasarudzawo kubvisa imwe mari kubva muchikwama chakagoverwa, asi akakanganisa uye akaedza kubvisa 1.5 WAVES.
Nekudaro, iyo smart contract yaive necheki yemamiriro ezvinhu aya.
Xena is scammer, akaedza kubvisa 1 WAVES kubva kuaccount yese.
Zvakamunetsawo.
Muchikamu chinotevera, tichatarisa dzimwe nyaya dzakaoma dzine chekuita nekusakwana kweAlice dApp Account.
Source: www.habr.com