RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

ආයුබෝවන් හැමෝටම!

වඩාත් මෑතකදී, Waves Labs නිවේදනය කරන ලදි විමධ්‍යගත යෙදුම් Ride4Dapps සඳහා RIDE ස්මාර්ට් කොන්ත්‍රාත් භාෂා දිගුව පරීක්ෂණ ජාලයට මුදා හැරීමට කැප වූ සංවර්ධකයින් සඳහා වන තරඟය!

අපි DAO නඩුව තෝරා ගත්තෙමු වෙන්චරිය සමාජ ක්‍රියාකාරකම් සමඟ dApps සංවර්ධනය කිරීමට සැලසුම් කරයි: ඡන්දය ප්‍රකාශ කිරීම, අරමුදල් රැස් කිරීම, විශ්වාස කළමනාකරණය යනාදිය.
අපි සරල උදාහරණයක් සමඟ ආරම්භ කළෙමු ප්‍රශ්නෝත්තර සැසි හා ඇතුළත RIDE IDE - උදාහරණයක් සමඟ හවුල් මුදල් පසුම්බිය.

අපි මෙම උදාහරණය දෙස බලමු, උපකල්පන පරීක්ෂා කර සමහර අමුතුකම් දෙස බලමු:

අපට ඇලිස් - dApp හිමිකරු ලබා ගනිමු
Boob සහ Cooper Alice හවුල්කරුවන්, Alice-BC DAO හි සම-නිර්මාතෘවරුන් වේ
නෙලී යනු මූල්‍ය පහසුකම් අවශ්‍ය ව්‍යාපාර හිමියෙකි
බැංකුව - ටෝකන බෙදාහරින බැංකුවකි

අදියර 1. ශේෂයන් ආරම්භ කිරීම

තරංග පරීක්ෂණ ජාලයේ ටෝකන ලබා ගැනීම සඳහා, ඔබ සම්බන්ධ කර ගත යුතුය ෆියුස් සහ ටෝකන යැවීමට ලිපිනය සඳහන් කරන්න.
ඔබගේ ගිණුම් විස්තර විවෘත කිරීමෙන් ඔබට IDE හි ලිපිනය සොයාගත හැකිය.
අපි බැංකු 10 තරංග ඉස්මතු කරමු. එවිට අපි ඔවුන් බ්ලොක් සහ ගණුදෙණු බ්‍රව්සරය හරහා පැමිණියාදැයි පරීක්ෂා කරමු: විචාරක

දැන් අපි ඉතිරි සහභාගිවන්නන්ට බැංකුවෙන් ටෝකන් බෙදාහරිමු. (සටහන්: තරංග ජාලයේ සියලුම ගනුදෙනු නොමිලේ නොවේ, එබැවින් සියලුම සහභාගිවන්නන් ගනුදෙනු කිරීමට අවම ධනාත්මක ශේෂයක් අවශ්‍ය වේ).

1 තරංග = ඒකක 100000000 (තරංග), ප්‍රමාණ නිඛිල පමණක් විය හැකි බැවින්
0.01 WAVES (ගනුදෙනු ගාස්තු) = 1000000

බැංකුව -> [3 තරංග] -> ඇලිස්, TransferTransaction හරහා (වර්ගය: 4).

ගනුදෙනු අත්සන් කර ඇති env.SEED අපගේ බැංකුවට ගැළපෙන බව අපි පරීක්ෂා කරමු:
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

ඔබට ගැළපෙන බීජ වාක්‍ය ඛණ්ඩයක් නොමැති නම්, ගිණුම් පටිත්තෙහි එයට මාරු වී නැවත පරීක්ෂා කරන්න.
මෙයින් පසු, අපි 3 WAVES ඇලිස් මාරු කිරීම සඳහා ගනුදෙනුවක් නිර්මාණය, නිවේදනය සහ අත්සන් කරන්නෙමු.
env.accounts විචල්‍යය හරහා ඔබට ඇලිස්ගේ දත්ත ද සොයාගත හැකිය. අංකනය 0 සිට ආරම්භ වේ, එබැවින් ඇලිස් යනු env.accounts[1].
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

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

ප්‍රති result ලය බ්‍රව්සරයේ ද නිරීක්ෂණය කළ හැකිය, ක්‍රියාත්මක වූ වහාම එයට සබැඳියක් අප වෙත ආපසු එවනු ලැබේ ගනුදෙනු.

අපි ඇලිස්ගේ ශේෂය තරංග 3 කින් නැවත පිරවීමට වග බලා ගන්නෙමු, සහ බැංකු ශේෂය 10 - 3 - 0.01 = 0.699 ලෙස පවතී.
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

අපි Boob සහ Cooper 3 WAVES බැගින් ද, Neli, Xena සහ Mark 0.2 WAVES බැගින් ද ඒ ආකාරයෙන්ම යවමු.
(සටහන්: අපි එක් අක්ෂර දෝෂයක් සිදු කර නෙලි 0.02 තරංග එව්වා. ප්‍රවේශම් වන්න!)

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

සියලුම සහභාගිවන්නන්ගේ ශේෂයන් නැවත පිරවීමෙන් පසු, අපි දකින්නේ:
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

අදියර 2. dApp ගිණුමක් සාදන්න

විමධ්‍යගත යෙදුමේ නිර්මාතෘ සහ හිමිකරු ඇලිස් බව අපි එකඟ විය.
ගිණුම් වෙත ගොස්, එය SEED ලෙස සකසා, env.SEED ඇලිස්ට ගැලපේදැයි පරීක්ෂා කරන්න.

ඇලිස්ගේ ගිණුමේ හැකි සරලම ස්ක්‍රිප්ට් (කොන්ත්‍රාත්තුව) ස්ථාපනය කිරීමට උත්සාහ කරමු.
Waves හි ඇති Smart contacts යනු යම් යම් කොන්දේසි යටතේ සිදු වන ඕනෑම ආකාරයක පිටතට යන ගනුදෙනුවක් තහනම් හෝ ඉඩ දෙන පුරෝකතන වේ. මෙම අවස්ථාවෙහිදී, මෙම තත්ත්වය සැමවිටම පවතී. කොන්ත්රාත් කේතය සත්ය වේ. ඇමතුම් යෙදවීම ().

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

SetScript ගනුදෙනුවකට ගාස්තුව 1400000/100000000 = 0.014 WAVES. ඇලිස්ගේ ශේෂයේ තරංග 2.986ක් ඉතිරිව ඇත.

විස්තර කර ඇති ඇලිස් ගිණුමේ වඩාත් සංකීර්ණ ස්මාර්ට් කොන්ත්‍රාත් තර්කනය ස්ථාපනය කිරීමට දැන් උත්සාහ කරමු උදාහරණයක්

Ride4Dapps දැන් නව විවරණ වර්ග 2ක් ඇතුළත් වේ:

  1. @Callable(i) — පරාමිතියක් ලෙස ගනී i, ගනුදෙනුව හැඳින්වූ/අත්සන් කළ ගිණුම පිළිබඳ දත්ත. dApp ගිණුමේ තත්වය වෙනස් කිරීම තීරණය කරන මෙම කාර්යයේ ප්රතිඵලය වේ. වෙනත් ගිණුම්වලට මෙම විවරණ සමඟ ගනුදෙනු නිර්මාණය කිරීමට සහ කාර්යයන් ක්‍රියාත්මක කිරීමට සහ dApp ගිණුමේ තත්ත්වය වෙනස් කිරීමට හැකිය.
  2. @Verifier(tx) - ගනුදෙනු tx පරාමිතිය සමඟ ගනුදෙනු සත්‍යාපනය කරන්න. RIDE වෙතින් පුරෝකථන තර්කයට අනුරූප වේ. dApp ගිණුමේ ස්මාර්ට් කොන්ත්‍රාත්තුවේ තර්කනයට තවදුරටත් වෙනස් කිරීමට ඔබට ඉඩ දීම හෝ තහනම් කිරීම මෙම ප්‍රකාශනය තුළ වේ.

අපි කරමු dApp සියලුම සහභාගිවන්නන් සඳහා පොදු මුදල් පසුම්බියක් ලෙස ගිණුම.
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

ඔබගේ ගිණුමේ දැනට ක්‍රියාත්මක වන්නේ කුමන කොන්ත්‍රාත්තුවක්ද යන්න පරීක්ෂා කිරීමට, ඔබට බ්ලොක් ගවේෂකයේ ඇති ස්මාර්ට් කොන්ත්‍රාත්තුවේ මූලික 64 කේතය පිටපත් කර එය විසංයෝජනය භාවිතයෙන් හඳුනා ගත හැකිය (උදාහරණයක් ලෙස)
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

ස්මාර්ට් කොන්ත්‍රාත්තුවේ තර්කනය අප අපේක්ෂා කරන දෙයට ගැළපෙන බවට අපි සහතික වෙමු.
ඇලිස්ගේ ශේෂයේ තරංග 2.972ක් ඉතිරිව ඇත.

මෙම dApp මගින් එක් එක් සහභාගිවන්නන් යාන්ත්‍රණයක් හරහා පොදු අරමුදලට කොපමණ දායකත්වයක් ලබා දෙනවාද යන්න නිරීක්ෂණය කරයි දත්ත ගනුදෙනු - DataEntry (වත්මන් කී, නව මුදල), currentKey යනු තැන්පතු කාර්යය හඳුන්වන ගිණුම වන අතර, newAmount යනු නැවත පිරවූ ශේෂයේ අගයයි.

Boob සහ Cooper ඔවුන්ගේ තැන්පතු dApp ගිණුමට තරංග 1කින් සිදු කරයි.
RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

අපි වැරැද්දක් කරනවා, ගනුදෙනුව සිදු නොවේ. අපි බොබ් වෙනුවෙන් ගනුදෙනුවක් කරන බව අපට ඒත්තු ගියත්, අපි දර්ශකයේ වැරැද්දක් කර ස්මාර්ට් කොන්ත්‍රාත්තුවක් නොමැති බැංකු ගිණුමක් පෙන්වා දුන්නෙමු. මෙහි වැදගත් කරුණක් සඳහන් කිරීම වටී - ගනුදෙනු ආරම්භ කිරීමට අසාර්ථක උත්සාහයන් සඳහා ගාස්තුවක් ඇත ඉවත් කළ නොහැක! ඇලිස්ගේ ශේෂයේ තරංග 2.972ක් ඉතිරිව ඇත. බොබ් සතුව තරංග 3 ක් ඇත.

බොබ් dApp ගිණුමට WAVES 1ක් යැව්වා.

broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

බොබ්ට තරංග 1.99 ක් ඉතිරිව ඇත. එනම් බොබ් 0.01 WAVES කොමිස් මුදලක් ගෙවා ඇත

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

ඇලිස්ගේ ශේෂය මත තරංග 2.972 ක් තිබුණි, දැන් එය 3.972 කි. ඇලිස් ගිණුමේ ගනුදෙනුවක් ද ලියාපදිංචි කර ඇත, නමුත් dApp ගිණුමෙන් (ඇලිස්) කොමිස් මුදලක් අය නොකෙරේ.
කූපර් ගිණුම නැවත පිරවීමෙන් පසුව, ඇලිස්ගේ ශේෂය 4.972 තරංග බවට පත් විය.

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

දත්ත පටිත්තෙහි බ්ලොක් එක්ස්ප්ලෝරර් හි පොදු මුදල් පසුම්බියේ WAVES කීයක් අයිති කාටදැයි ඔබට සොයාගත හැකිය.

කූපර් සාමාන්‍ය මුදල් පසුම්බියට තරංග 1 ක ප්‍රමාණය තැබීම ගැන ඔහුගේ අදහස වෙනස් කර ඇති අතර සම්බන්ධතාවයෙන් අඩක් ඉවත් කර ගැනීමට තීරණය කළේය. මෙය සිදු කිරීම සඳහා, ඔහු ආපසු ගැනීමේ කාර්යය ඇමතිය යුතුය.

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

කෙසේ වෙතත්, ආපසු ගැනීමේ ශ්‍රිතයට සම්පූර්ණයෙන්ම වෙනස් පරාමිති සහ වෙනස් අත්සනක් ඇති බැවින් අපට නැවතත් වැරදී ඇත. ඔබ RIDE4DAPPS හි ස්මාර්ට් කොන්ත්‍රාත්තු සැලසුම් කරන විට ඔබ මෙම කරුණ කෙරෙහි අවධානය යොමු කළ යුතුය

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

Cooper දැන් එහි ශේෂ පත්‍රයේ තරංග 2.48ක් ඇත. ඒ අනුව, 3 තරංග - 1 - 0.01, පසුව + 0.5 - 0.01. ඒ අනුව, තැන්පත් කිරීමට සහ ආපසු ගැනීමට සෑම ඇමතුමකටම තරංග 0.01ක් වැය වේ. එහි ප්‍රතිඵලයක් වශයෙන්, dApps හිමිකරුවන්ගේ වගුවේ ඇතුළත් කිරීම් පහත පරිදි වෙනස් විය.

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

බොබ් ද බෙදාගත් පසුම්බියෙන් මුදල් ටිකක් ලබා ගැනීමට තීරණය කළ නමුත් වැරැද්දක් කර WAVES 1.5 ක් ආපසු ගැනීමට උත්සාහ කළේය.

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

කෙසේ වෙතත්, ස්මාර්ට් කොන්ත්රාත්තුවේ මෙම තත්ත්වය සඳහා චෙක්පතක් තිබුණි.

Xena වංචාකාරයෙක්, ඇය මුළු ගිණුමෙන් WAVES 1 ක් ලබා ගැනීමට උත්සාහ කළාය.

RIDE සහ RIDE4DAPPS මත Waves ස්මාර්ට් කොන්ත්‍රාත්තු ලිවීමට ඉගෙන ගැනීම. 1 කොටස (බහු-පරිශීලක මුදල් පසුම්බිය)

එය ඇයටද සාර්ථක වූයේ නැත.

මීළඟ කොටසින් අපි Alice dApp ගිණුමේ අසම්පූර්ණකම සම්බන්ධ වඩාත් සංකීර්ණ ගැටළු දෙස බලමු.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න