Салом хама!
Ба наздикӣ, Waves Labs
Мо парвандаи DAO-ро интихоб кардем, зеро
Мо бо як мисоли оддӣ дар
Биёед ин мисолро бубинем, гипотезаҳоро санҷем ва ба баъзе аҷибиятҳо назар андозем:
Биёед Алиса - соҳиби dApp дошта бошем
Буб ва Купер шарикони Алис, ҳаммуассисони Alice-BC DAO мебошанд
Нели соҳиби тиҷорат аст, ки ба маблағгузорӣ ниёз дорад
Бонк - бонке, ки нишонаҳо паҳн мекунад
Марҳилаи 1. Оғози тавозуни
Барои гирифтани нишонаҳо дар шабакаи санҷиши мавҷҳо, шумо бояд тамос гиред
Шумо метавонед суроғаро дар IDE тавассути кушодани тафсилоти ҳисоби худ пайдо кунед.
Мо Bank 10 WAVES-ро таъкид мекунем. Сипас мо тафтиш мекунем, ки онҳо тавассути блок ва браузери транзаксия омадаанд:
Акнун биёед токенҳоро аз бонк ба иштирокчиёни боқимонда тақсим кунем. (Эзоҳ: Ҳама транзаксияҳо дар шабакаи мавҷҳо ройгон нестанд, аз ин рӯ барои анҷом додани муомилот барои ҳамаи иштирокчиён тавозуни ҳадди ақали мусбӣ лозим аст).
1 МАВҶ = 100000000 воҳид (мавҷҳо), зеро миқдорҳо танҳо адад буда метавонанд
0.01 МАВҷҳо (Пардохти муомилот) = 1000000
Бонк -> [3 МАВҲ] -> Алиса, тавассути TransferTransaction (Намуд: 4).
Мо тафтиш мекунем, ки ENV.SEED, ки транзаксияҳо аз он имзо шудаанд, мувофиқат мекунанд Бонки мо:
Агар шумо ибораи насли мувофиқ надошта бошед, танҳо ба он дар ҷадвали Ҳисобҳо гузаред ва дубора санҷед.
Пас аз ин, мо барои интиқоли 3 WAVES Алиса муомила эҷод мекунем, эълон мекунем ва имзо мекунем.
Шумо инчунин метавонед маълумоти Алисаро тавассути тағирёбандаи env.accounts пайдо кунед. Рақамгузорӣ аз 0 оғоз мешавад, аз ин рӯ Алиса env.accounts[1] аст.
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Натиҷаро инчунин дар браузер мушоҳида кардан мумкин аст, истиноди он фавран пас аз иҷро ба мо баргардонида мешавад
Мо боварӣ ҳосил мекунем, ки тавозуни Алиса бо 3 МАВҶ пур карда мешавад ва тавозуни бонк дар 10 - 3 - 0.01 = 0.699 боқӣ мемонад.
Мо ҳар кадоми Бооб ва Купер 3 МАВҷро мефиристем ва Нели, Ксена ва Марк 0.2 МАВҶРО ба ҳар кадоми онҳо ҳамин тавр мефиристем.
(Эзоҳ: Мо хатои як аломат кардем ва Neli 0.02 WAVES фиристодем. Эҳтиёт бошед!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Пас аз пур кардани тавозуни ҳамаи иштирокчиён, мо мебинем:
Марҳилаи 2. Ҳисоби dApp эҷод кунед
Мо розӣ шудем, ки Алис созанда ва соҳиби барномаи ғайримарказонидашуда хоҳад буд.
Ба ҳисобҳо равед, онро ҳамчун SEED муқаррар кунед ва мувофиқати env.SEED-ро тафтиш кунед.
Биёед кӯшиш кунем, ки соддатарин скриптро (шартнома) дар ҳисоби Алиса насб кунем.
Тамосҳои интеллектуалӣ дар мавҷҳо предикатҳое мебошанд, ки ҳар гуна амалиёти содиротӣ дар шароити муайянро манъ ё иҷозат медиҳанд. Дар ин ҳолат, ин ҳолат ҲАМЕША. Рамзи шартнома дуруст аст. Call deploy().
Пардохти як амалиёти setScript 1400000/100000000 = 0.014 МАВҶҲО. Алис дар тавозуни худ 2.986 МАВҲ боқӣ мондааст.
Биёед ҳоло кӯшиш кунем, ки мантиқи мураккабтари шартномаи интеллектуалиро дар ҳисоби Алиса насб кунем, ки дар он тасвир шудааст
Ride4Dapps ҳоло 2 намуди нави эзоҳро дар бар мегирад:
- @Callable(i) — ҳамчун параметри i, маълумотро дар бораи он, ки кадом ҳисоб транзаксияро даъват кардааст/имзо кардааст, мегирад. Маҳз натиҷаи ин функсия тағиротро дар ҳолати ҳисоби dApp муайян мекунад. Ҳисобҳои дигар метавонанд транзаксия эҷод кунанд ва вазифаҳоро бо ин эзоҳ иҷро кунанд ва ҳолати ҳисоби dApp-ро тағир диҳанд.
- @Verifier(tx) — Санҷандаи транзаксия бо параметри транзаксия tx. Ба мантиқи предикат аз RIDE мувофиқат мекунад. Маҳз дар ин ифода шумо метавонед тағироти минбаъдаро ба мантиқи шартномаҳои интеллектуалӣ дар ҳисоби dApp иҷозат диҳед ё манъ кунед.
Биёед dapper ҳисоб ҳамчун ҳамёни умумӣ барои ҳамаи иштирокчиён.
Барои санҷидани он, ки кадом шартнома ҳоло дар ҳисоби шумо фаъол аст, шумо метавонед коди base64-и шартномаи интеллектуалиро дар Explorer блок нусхабардорӣ кунед ва онро бо истифода аз декомпилятор эътироф кунед (
Мо боварӣ ҳосил мекунем, ки мантиқи шартномаи оқилона ба он чизе, ки мо интизор ҳастем, мувофиқат мекунад.
Алис дар тавозуни худ 2.972 МАВҲ боқӣ мондааст.
Ин dApp пайгирӣ мекунад, ки ҳар як иштирокчӣ ба фонди умумӣ тавассути механизм чӣ қадар саҳм мегузорад муомилоти додаҳо - DataEntry (Калиди ҷорӣ, Маблағи нав), ки дар ин ҷо currentKey ҳисобе мебошад, ки функсияи амонатиро даъват мекунад ва newAmount арзиши тавозуни пуршуда мебошад.
Бооб ва Купер пасандозҳои худро ба ҳисоби dApp бо 1 WAVES мегузоранд.
Мо хато мекунем ва муомилот намегузарад. Азбаски, сарфи назар аз он, ки мо боварӣ доштем, ки мо аз номи Боб амалиёт анҷом медиҳем, мо дар индекс хато кардем ва ҳисоби бонкиро нишон додем, ки шартномаи оқилона надорад. Дар ин ҷо як нуктаи муҳимро қайд кардан лозим аст - барои кӯшиши бемуваффақият оғоз кардани транзаксияҳо пул гирифта мешавад. нест кардан мумкин нест! Алис дар тавозуни худ 2.972 МАВҲ боқӣ мондааст. Боб 3 мавҷ дорад.
Боб ба ҳисоби dApp 1 МАВҶ фиристод.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
Боб 1.99 МАВҶ дорад. Яъне, Боб комиссияи 0.01 WAVES пардохт кардааст
Алис дар тавозуни худ 2.972 МАВҶ дошт, ҳоло он 3.972 аст. Дар ҳисоби Алиса транзаксия низ ба қайд гирифта шуд, аммо аз ҳисоби dApp (Алис) ягон комиссия ситонида нашуд.
Пас аз он ки Купер низ ҳисобро пур кард, тавозуни Алиса 4.972 МАВҶ шуд.
Шумо метавонед фаҳмед, ки дар муҳаққиқи блок дар ҷадвали маълумот дар ҳамёни умумӣ чанд МАВҶ дорад.
Купер фикри худро дар бораи гузоштани маблағи 1 МАВҶ дар ҳамёни умумӣ тағйир дод ва тасмим гирифт, ки нисфи наздикиро бозпас гирад. Барои ин, ӯ бояд функсияи бозпасро даъват кунад.
Аммо, мо боз хато кардем, зеро функсияи бозхонд параметрҳои комилан дигар ва имзои дигар дорад. Ҳангоми тарҳрезии шартномаҳои интеллектуалӣ дар RIDE4DAPPS шумо бояд ба ин нукта диққат диҳед
Купер ҳоло дар тавозуни худ 2.48 МАВҶ дорад. Мутаносибан, 3 МАВҶ - 1 - 0.01, ва сипас + 0.5 - 0.01. Мувофиқи он, ҳар як занг барои пасандоз ва бозхондани он 0.01 WAVES арзиш дорад. Дар натиҷа, сабтҳо дар ҷадвали соҳибони dApps ба таври зерин тағир ёфтанд.
Боб инчунин тасмим гирифт, ки аз ҳамёни муштарак каме пул бигирад, аммо хато кард ва кӯшиш кард, ки 1.5 МАВҷро гирад.
Бо вуҷуди ин, шартномаи интеллектуалӣ барои ин вазъият чек дошт.
Xena як қаллоб аст, вай кӯшиш кард, ки аз ҳисоби умумӣ 1 МАВҷро гирад.
Ин ба вай хам муяссар нашуд.
Дар қисми оянда, мо масъалаҳои мураккаби марбут ба нокомилии ҳисоби Alice dApp-ро баррасӣ хоҳем кард.
Манбаъ: will.com