Hello a h-uile duine!
O chionn ghoirid, Waves Labs
Thagh sinn a’ chùis DAO air sgàth
Thòisich sinn le eisimpleir shìmplidh ann an
Bheir sinn sùil air an eisimpleir seo, dèan deuchainn air barailean agus coimhead air cuid de rudan neònach:
Biodh Alice againn - sealbhadair dApp
Tha Boob agus Cooper nan com-pàirtichean Alice, co-stèidheadairean Alice-BC DAO
Tha Neli na neach-seilbh gnìomhachais a dh’ fheumas maoineachadh
Banca - banca a bhios a 'sgaoileadh comharran
Ìre 1. Tòiseachadh cothromachadh
Gus comharran fhaighinn air lìonra deuchainn nan tonn, feumaidh tu fios a chuir
Gheibh thu an seòladh san IDE le bhith a’ fosgladh mion-fhiosrachadh a’ chunntais agad.
Bidh sinn a’ soilleireachadh Bank 10 WAVES. An uairsin nì sinn cinnteach gun do ràinig iad tron bhrobhsair bloc agus malairt:
A-nis leig dhuinn comharran bhon bhanca a sgaoileadh chun chòrr de na com-pàirtichean. (Notaichean: Chan eil a h-uile gnothach air lìonra nan tonn an-asgaidh, agus mar sin feumar cothromachadh adhartach as ìsle airson a h-uile com-pàirtiche gus gnothaichean a dhèanamh).
1 WAVES = 100000000 aonad (tonnan), leis nach urrainn suimean a bhith ach iomlan
0.01 WAVES (Cìs Gluasaid) = 1000000
Banca -> [3 WAVES] -> Alice, tro TransferTransaction (Seòrsa: 4).
Bidh sinn a’ dèanamh cinnteach gu bheil an env.SEED às a bheil na gnothaichean air an soidhnigeadh a’ freagairt ris a’ Bhanca againn:

Mura h-eil abairt sìol co-ionnan agad, dìreach gluais thuige ann an taba nan Cunntasan agus thoir sùil a-rithist.
Às deidh seo, bidh sinn a’ cruthachadh, ag ainmeachadh agus a’ soidhnigeadh malairt airson gluasad 3 WAVES Alice.
Gheibh thu a-mach cuideachd dàta Alice tro chaochladair cunntasan env. Bidh an àireamhachadh a’ tòiseachadh bho 0, agus mar sin tha Alice na chunntasan [1].
broadcast(transfer({recipient:address(env.accounts[1]), amount: 300000000, fee: 1000000}))
Faodar an toradh fhaicinn cuideachd sa bhrobhsair, thèid ceangal thuige a thilleadh thugainn dìreach às deidh a chuir gu bàs
Bidh sinn a’ dèanamh cinnteach gu bheil cothromachadh Alice air ath-lìonadh le 3 WAVES, agus tha an cothromachadh banca fhathast aig 10 - 3 - 0.01 = 0.699.
Bidh sinn a’ cur Boob agus Cooper 3 WAVES gach fear, agus Neli, Xena agus Mark 0.2 WAVES gach fear san aon dòigh.
(Notaichean: Rinn sinn mearachd aon charactar agus chuir sinn Neli 0.02 WAVES. Bi faiceallach!)
broadcast(transfer({recipient:address(env.accounts[4]), amount: 20000000, fee: 1000000}))
Às deidh dhuinn cothromachadh nan com-pàirtichean uile ath-lìonadh, chì sinn:
Ìre 2. Cruthaich cunntas dApp
Dh’ aontaich sinn gur i Alice neach-cruthachaidh agus sealbhadair an tagraidh dì-mheadhanaichte.
Rach gu Cunntasan, suidhich e mar SEED agus thoir sùil air env.SEED a’ maidseadh Alice.
Feuchaidh sinn ris an sgriobt (cùmhnant) as sìmplidh a stàladh air cunntas Alice.
Tha fiosan snasail ann an Waves mar ro-innse a tha a’ toirmeasg no a’ leigeil le seòrsa sam bith de ghnìomhachd a-muigh tachairt fo chumhachan sònraichte. Anns a 'chùis seo, tha an suidheachadh seo AN-ASGAIDH. Tha còd cùmhnant fìor. Cuir fòn gu cleachdadh ().
Cìs airson gach gnothach setScript 1400000/100000000 = 0.014 WAVES. Tha 2.986 WAVES air fhàgail aig Alice air a cothromachadh.
Feuchaidh sinn a-nis ri loidsig cùmhnant smart nas iom-fhillte a chuir a-steach air cunntas Alice, air a mhìneachadh ann an
Rothaich 4 Dapps a-nis a’ toirt a-steach 2 sheòrsa nota ùr:
- @Callable(i) - a’ gabhail mar paramadair i, dàta mun chunntas ris an canar / a chuir ainm ris a’ ghnothach. Is e toradh a’ ghnìomh seo a tha a’ dearbhadh an atharrachaidh ann an staid a’ chunntais dApp. Faodaidh cunntasan eile gnothaichean a chruthachadh agus gnìomhan a chuir an gnìomh leis a’ chomharra seo agus staid a’ chunntais dApp atharrachadh.
- @Dearbhaiche(tx) - Dearbhaiche gnìomh le paramadair tx malairt. A’ freagairt ris an loidsig ro-innse bho RIDE. Is ann san abairt seo as urrainn dhut tuilleadh atharrachaidhean a cheadachadh no a thoirmeasg air loidsig cùmhnantan snasail air a’ chunntas dApp.
Dèanamaid dApp cunntas mar wallet cumanta airson a h-uile com-pàirtiche.
Gus faighinn a-mach dè an cùmhnant a tha gnìomhach air do chunntas an-dràsta, faodaidh tu lethbhreac a dhèanamh den chòd base64 den chùmhnant snasail anns an rannsachair bloc agus aithnich e le bhith a’ cleachdadh decompiler (
Bidh sinn a’ dèanamh cinnteach gu bheil loidsig a’ chùmhnant snasail a rèir na tha sinn a’ dùileachadh.
Tha 2.972 WAVES air fhàgail aig Alice air a cothromachadh.
Bidh an dApp seo a’ cumail sùil air na tha gach com-pàirtiche a’ cur ris a’ mhaoin chumanta tro uidheamachd malairt dàta - DataEntry (iuchrach gnàthach, suim ùr), far a bheil currentKey an cunntas a tha a 'gairm an gnìomh tasgaidh, agus newAmount luach a' chothromachadh replenished.
Bidh Boob agus Cooper a’ dèanamh an tasgaidhean don chunntas dApp le 1 WAVES.
Bidh sinn a’ dèanamh mearachd agus chan eil an gnothach a’ dol troimhe. Leis, a dh ’aindeoin gu robh sinn cinnteach gu robh sinn a’ dèanamh malairt às leth Bob, rinn sinn mearachd anns a ’chlàr-amais agus chomharraich sinn cunntas banca aig nach eil cùmhnant snasail. 'S fhiach toirt fa-near puing chudromach an seo - tha cìs ann airson oidhirpean neo-shoirbheachail gus gnothaichean a thòiseachadh chan urrainn a thoirt air falbh! Tha 2.972 WAVES air fhàgail aig Alice air a cothromachadh. Tha 3 tonnan aig Bob.
Chuir Bob 1 WAVES gu dApp Account.
broadcast(invokeScript({dappAddress: address(env.accounts[1]), call:{function:"deposit",args:[]}, payment: [{amount: 100000000, asset:null }]}))
Tha 1.99 WAVES air fhàgail aig Bob. Is e sin, phàigh Bob coimisean 0.01 WAVES
Bha 2.972 WAVES aig Alice air a cothromachadh, a-nis is e 3.972 a th’ ann. Chaidh malairt a chlàradh cuideachd air cunntas Alice, ach cha deach coimisean sam bith a phàigheadh bhon Chunntas dApp (Alice).
Às deidh dha Cooper an cunntas ath-lìonadh, thàinig cothromachadh Alice gu 4.972 WAVES.
Gheibh thu a-mach cò aig a bheil sealbh air cia mheud WAVES anns a’ wallet cumanta anns an rannsachair bloca anns an taba Dàta.
Dh'atharraich Cooper a inntinn mu bhith a 'fàgail na tha de 1 WAVES air a' mhàileid choitcheann agus chuir e roimhe leth den dàimh a tharraing air ais. Gus seo a dhèanamh, feumaidh e an gnìomh tarraing air ais a ghairm.
Ach, bha sinn ceàrr a-rithist, leis gu bheil crìochan gu tur eadar-dhealaichte aig a’ ghnìomh tarraing air ais agus ainm-sgrìobhte eadar-dhealaichte. Nuair a dhealbhaicheas tu cùmhnantan snasail air RIDE4DAPPS bu chòir dhut aire a thoirt don phuing seo
Tha 2.48 WAVES air a’ chothromachadh aige a-nis. A rèir sin, 3 WAVES - 1 - 0.01, agus an uair sin + 0.5 - 0.01. A rèir sin, tha gach gairm gu tasgadh agus tarraing air ais a’ cosg 0.01 WAVES. Mar thoradh air an sin, dh’ atharraich na h-inntrigidhean ann an clàr luchd-seilbh dApps mar a leanas.
Cho-dhùin Bob cuideachd airgead a tharraing air ais bhon wallet co-roinnte, ach rinn e mearachd agus dh’ fheuch e ri 1.5 WAVES a tharraing air ais.
Ach, bha seic aig a’ chùmhnant smart airson an t-suidheachaidh seo.
Tha Xena na sgamair, dh'fheuch i ri 1 WAVES a tharraing air ais bhon chunntas iomlan.
Cha do dh'obraich e a-mach dhi idir.
Anns an ath phàirt, bheir sinn sùil air cùisean nas iom-fhillte co-cheangailte ri neo-fhoirfeachd Alice dApp Account.
Source: www.habr.com