Ieškote DAML mokymo programos? Jei taip darote, tada patekote į reikiamą vietą. Šiame straipsnyje atliksime tinkamą DAML „blockchain“ pamoką.

Pamoka apims pagrindinį DAML supratimą, kodėl jis reikalingas, ir kodų pavyzdžius, kad būtų prasmingiau. Jei esate pradedantysis, rasite pamoką, kaip pradėti naudotis DAML. Trumpai tariant, tai yra puiki DAML pamoka pradedantiesiems. Tačiau tai nėra išsami DAML kūrimo pamoka, nes mes neketiname kurti jokios išsamios programos mokymo programoje, nes ji nepatenka į straipsnio taikymo sritį.

DAML mokymo programa: darbo su DAML pradžia

DAML pamoka

Taigi, kas yra DAML? Panagrinėkime.

Reikia atnaujinti „blockchain“? Norėdami pradėti, peržiūrėkite vadovą „Blockchain“ pradedantiesiems! Be to, peržiūrėkite mūsų pagrindinį DAML vadovą.

Kas yra DAML?

DAML yra atviro kodo programavimo kalba, skirta kurti paskirstytas programas. Tai leidžia kūrėjams glaustai, greitai ir teisingai kurti tas paskirstytas programas.

„Hyperledger“ palaiko DAML ir padarė ją savo ekosistemos dalimi. Tai taip pat daro DAML viena iš programavimo kalbų, kurios veikia ant pirmaujančių „blockchain“ platformų. Taip, tai priima kelios platformos. Tai taip pat leidžia kūrėjams greitai sukurti savo programą ir tada nuspręsti, kur jie nori ją įdiegti.

Kuo DAML toks ypatingas?

DAML yra programavimo kalba, skirta kurti paskirstytas kalbas. Vis daugiau ir daugiau įmonių suprasdama paskirstytų programų svarbą, DAML pateikia įrankį toms įmonėms ir jų kūrėjams pasiekti savo tikslus. Tiesą sakant, tai yra vienas iš tų nuostabių įrankių, leidžiančių valdyti paskirstytą programą.

DAML tiesiogiai sprendžia sudėtingas dizaino problemas, nes pateikia sudėtingų problemų, tokių kaip paskirstytos būsenos sinchronizavimas ir kriptografija, sprendimą. Norint pasiekti tikslą, jis pertvarkomas.

Kai kūrėjas rašo savo „blockchain“ programą, pagrindinė konstrukcija ar įgyvendinimas yra nutrauktas. Tai leidžia kūrėjui sutelkti dėmesį į abstraktų reikalavimą ir leisti DAML atlikti visą sunkų darbą. Žinodami, kad DAML yra ypatingas, galite geriau įvertinti mokymąsi DAML naudodami mūsų DAML mokymo programą.

DAML funkcijos

Šiame DAML mokymo programos skyriuje sužinosime apie pagrindines DAML funkcijas.

Duomenų modelis: DAML leidžia kūrėjams lengvai sukurti sudėtingas duomenų schemas, skirtas jų taikymui. Tai leidžia lengvai kurti ir įgyvendinti sudėtingus reikalavimus ar verslo procesus.

Smulkūs leidimai: DAML sutartys yra tiksliai suderintos, kad būtų nustatyti leidimai. Tai reiškia, kad kūrėjai gali nustatyti, kas galėtų pasirašyti sutartį, kas gali ją matyti ir kokiomis sąlygomis.

Verslo logika: Verslo logiką taip pat galima lengvai integruoti. Kūrėjas gali parašyti veiksmus, kurių reikia ant sutarties, jos tvirtinimų, parametrų ir dar daugiau!

Scenariju pagrįstas testavimas: Scenariju pagrįstas testavimas taip pat galimas naudojant DAML. Tai leidžia kūrėjui išbandyti verslo logiką ir kitus jūsų decentralizuotų programų aspektus, pvz., Darbo eigą.

Runtime Features

Be pirmiau minėtų keturių pagrindinių funkcijų, mes taip pat turime „DAML Runtime“. „Runtime“ reiškia aplinką, kurią programa sukuria vykdymo metu. Šioje būsenoje yra pagrindiniai bruožai, dėl kurių programa veikia efektyviai ir efektyviai. Sužinoję apie juos DAML pamokoje, galėsite sustiprinti savo DAML mokymąsi.

Pakalbėkime apie juos žemiau.

Sandėliavimo abstrakcija → Saugyklos abstrakcija siūlo patvarumo sluoksnį, užtikrinantį, kad visos DAML programos yra saugyklos-agnostinės. Paprasčiau tariant, DAML programos nepriklauso nuo pasirinktos saugyklos, nes ji gali konvertuoti minėtus duomenis į virškinamą formatą.

saugojimas-abstrakcija

Autorizacijos patikrinimai → Įgaliojimu tikrinami visi sutartyje numatyti veiksmai. Jei veiksmas nepatvirtins tinkamo leidimo, jo nebus leista atlikti.

daml-tutorial-autorizacijos patikrinimai

Tada sutartis sukels vykdymo laiko klaidą ir informuos pirkėją ar kūrėją.

daml-tutorial-error.

Atskaitomybės stebėjimas → Vykdymo laikas taip pat yra atsakingas už atskaitomybės stebėjimą. Ji užtikrina, kad šalys savanoriškai sudarytų susitarimą. Kad tai įvyktų, reikėjo pasirašiusiųjų parašų. Tai daroma siekiant apsaugoti pirkėją nuo bet kokio prievartinio organizatoriaus ar pardavėjo elgesio.

Atominis suderinamumas → DAML palaiko atominį dizainą. Tai reiškia, kad visi veiksmai atliekami atominiu būdu ir todėl gali būti įvykdyti arba iš viso neatlikti. Vykdant sutartis nėra vidurio kelio. Tai daroma siekiant užtikrinti darbo eigos saugumą ir atstoti eksploatuotojus.

Jokių dvigubų išlaidų → Naudojant DAML vykdymo laiką, sutartys sudaromos taip, kad nebūtų galima dvigubai išlaidauti. Tai reiškia, kad ta pati sutartis negali būti vykdoma du kartus.

Reikia žinoti privatumą → DAML siūlo antrinių operacijų lygį, kuris suteikia informaciją, kai ji bus patvirtinta.

Deterministinis vykdymas → Galiausiai, vykdymo laikas palaiko deterministinį vykdymą. Tai reiškia, kad bet kokio veiksmo poveikis priklauso nuo dabartinės knygos būklės.

Darbo su DAML pradžia

Šiame mūsų DAML vadovėlio skyriuje mes panagrinėsime DAML blockchain pamokos darbo pradžios vadovą. Kad galėtumėte naudoti DAML, turite jį įdiegti.

Norėdami naudoti DAML, turite atlikti dviejų žingsnių procesą.

1) Priklausomybių diegimas

Norėdami naudoti DAML, pirmiausia turite įdiegti priklausomybes. Norėdami tai padaryti, turite atsisiųsti SDK ir įdiegti jį į savo operacinę sistemą.

Be to, geriausia būtų, jei turėtumėte ir šiuos dalykus

  • „Visual Studio Code“ ar bet kurią suderinamą integruotą kūrimo aplinką
  • JDK 8 ar naujesnė.

2) SDK diegimas

Jei naudojate „Windows“, galite pereiti į nuoroda, ir atsisiųskite vykdomąjį failą.

Jei naudojate „Linux“ ar MAC, turite paleisti šią komandą naudodami „curl“.

garbanos –sL https://get.daml.com/ | sh

Jis paprašys pridėti ~ / .daml / bin prie savo PATH kintamojo. Kai tai padarysite, būsite pasirengę naudoti DAML.

„DAML Tutorial“ vadovas pradedantiesiems

Ar niekada nedirbote su DAML? Tada nesijaudinkite, kaip šiame skyriuje, mes apžvelgsime DAML pagrindus, jo duomenų tipus, šablonus, funkcijas, išraiškas ir pan.!

Tačiau prieš tai turime suprasti (skaitmeninio turto) DA knygos modelį. Tai yra svarbi mūsų DAML mokymo programos dalis.

DA knygos modelis

DA knygos modelis yra DAML pagrindas. Ji siūlo kelių šalių darbo eigą, naudodama virtualią bendrą knygą. Norėdami gauti geresnę idėją, galite patikrinti toliau pateiktą ekrano kopiją.

„DAML-Tutorial-Ledger-Model“

Šaltinis: DAML dokumentai

Modelis naudojamas apibrėžti DA žurnalų struktūrą (ką), vientisumo modelį (kas gali prašyti) ir privatumo modelį (kas gali matyti).

Norėdami išsamiau suprasti DA knygos modelį, peržiūrėkite oficialią dokumentaciją čia.

Pagrindinės sutartys

DAML šerdyje rasite DAML knygą. Mes eisime per mažą šabloną, nes tai padės mums suprasti pagrindines sąvokas, įskaitant operacijas, šablonų sutartis, signatarus, DAML modulius ir failus.

Įsipareigoja

DAML knygoje yra „įsipareigojimų“ sąrašas. Paprasčiau tariant, įsipareigojimas yra pateiktas sandoris knygai. Sutarties metu galite tai laikyti aktyvia operacija, kurią reikia įvykdyti, o jos vykdymas priklauso nuo sutarties atributų ir sąlygų.

DAML moduliai ir bylos

Prieš pradėdami turite paminėti DAML versiją. Tai galima padaryti DAML failo viršuje. Versija praneš kompiliatoriui, kokia kalbos versija naudojama.

velnias1.2

Norėdami importuoti modulį, turite naudoti raktą „modulis“.

moduleTokenwhere

Komentarai

Jei norite pridėti komentarų, galite tai padaryti naudodami raktinį žodį „-“.

– Tai komentaras

Šablonai

Sutarties tipui apibrėžti naudojamas šablonas. Tai apibrėžia subjektus, turinčius prieigą vykdyti sutartį. Galite laikyti sutartis kaip šablonų egzempliorius.

šablono žetonas

su

savininkas: Vakarėlis

kur

signataro savininkas

Kaip matote, „Token“ šabloną apibrėžėme naudodami raktinį žodį „template“. Tai taip pat reikalauja argumento. Dar vienas dalykas, į kurį galite atkreipti dėmesį, yra tai, kad jis yra orientuotas į baltąją erdvę. Jei anksčiau naudojote „Python“, suprasite, kaip kodas yra struktūrizuotas ir skirtas.

Galiausiai galite pamatyti pasirašantįjį raktinį žodį, kuris žymi sutarties egzempliorius. Šios šalies autoritetas privalo imtis veiksmų dėl sutarties, įskaitant archyvavimą ir sukūrimą.

Suprasti scenarijus naudojant šablonus

Dabar, kai supratome pagrindinę šablono struktūrą, mes dabar suprasime scenarijus, naudodami du kitus šablonus mūsų DAML pamokoje. Bet prieš tai supraskime, kas yra „scenarijus.

Scenarijus

Scenarijų galima geriausiai apibūdinti kaip bandymo receptą, kurį galima naudoti norint patikrinti, ar šablonai veikia taip, kaip turėtų. Juo galima atlikti operacijų testus. Pažvelkime į žemiau pateiktą pavyzdį.

token_test_one = scenarijus

sam <- „getParty“ „sam“

pateikti sam do

sukurti žetoną su savininku = sam

Aukščiau pateiktas yra pagrindinis scenarijus, kuriame kalbama apie partijos, vadinamos „sam“, žetoną.

Norėdami paleisti scenarijų, turite naudoti DAML studiją.

Norėdami sužinoti daugiau apie scenarijų, siūlome patikrinti scenarijaus dokumentacijos puslapis čia.

Duomenų tipas

Kaip ir bet kuri programavimo kalba, DAML taip pat palaiko duomenų tipus. Duomenų tipai leidžia apibrėžti kintamąjį ir ten saugoti duomenis.

Kad jums būtų paprasčiau, pagalvokime, kad šablonai yra duomenų bazės lentelės. Dabar galite išsaugoti duomenis šablone ir padėti sau lengvai juos tvarkyti per šablono dizainą.

Yra daug vietinių duomenų tipų, į kuriuos įeina DAML. Tai apima:.

  • Vakarėlis → Norėdami išsaugoti subjekto tapatybę. Šalys gali pateikti sandorius ir pasirašyti sutartis.
  • Tekstas → saugo „Unicode“ simbolį
  • „Int“ → saugomi 64 bitų skaičiai
  • Dešimtainis → saugo fiksuoto taško numerius
  • Data → išsaugo datą
  • Laikas → laiką laiko UTC
  • „RelTime“ → saugo laiko skirtumą
  • „ContractId“ → nuoroda į sutarties tipą

Žemiau yra kodas, skirtas suprasti kai kuriuos vietinius tipus.

native_test = scenarijus

Sam <- „getParty“ „Sam“

Mysterio <- „getParty“ „Mysterio“

leisti

my_int = –657

my_dec = 0,001: dešimtainis skaičius

my_text = „Sam“

my_bool = Klaidinga

tvirtinti (Sam / = Mysterio)

tvirtinti (-my_int == 123)

tvirtinti (1000,0 * my_dec == 1,0)

tvirtinti (my_text == „Sam“)

DAML taip pat palaiko kitus duomenų tipus, įskaitant rinkinius, sąrašus ir įrašus.

Norėdami sužinoti apie DAML duomenų tipus, peržiūrėkite jų dokumentacijos puslapį čia.

Duomenų transformavimas naudojant pasirinkimus

DAML palaiko nekintamumą. Tai reiškia, kai reikia atnaujinti duomenis; su naujais duomenimis reikia sukurti naują sutartį. Tačiau tai ne visada būna, nes visada yra kažkas labai mažo, ką reikia pakeisti ir modifikuoti. Pavyzdžiui, įmonė gali norėti pakeisti savo telefono numerį, kad tai atliktų pasirinkimus.

Pažvelkime į pavyzdį, paimtą DAML dokumentuose.

šablonas Kontaktai

su

savininkas: Vakarėlis

vakarėlis: vakarėlis

adresas: Tekstas

telefonas: tekstas

kur

signataro savininkas

valdiklio savininkas gali

„UpdateTelephone“

: „ContractIdContact“

su

newTelefonas: tekstas

padaryti

sukurti tai su

telefonas = naujasTelefonas

Didžioji dalis kodekso yra savaime suprantama. Vienintelis dalykas, kurį turite žinoti, yra tai, kad mes apibrėžėme pasirinkimą, vadinamą „UpdateTelephone“.

Pasirinkimai taip pat gali būti naudojami kaip delegacija. Galiausiai, juos taip pat galima integruoti į „Ledger Model“.

Norėdami sužinoti daugiau apie DAML pasirinkimus, galite apsilankyti oficialios dokumentacijos puslapyje čia.

Apribojimų pridėjimas prie sutarties

Taip pat galite pridėti apribojimų prie DAML sutarties naudodami raktinį žodį „užtikrinti“. Taip pat galite naudoti kitą mechanizmą, kuris naudoja „teigti“, „nutraukti“ ir „klaidos“ raktinius žodžius, kad pridėtumėte sutarties apribojimų.

Tačiau prieš tai atlikdami turite turėti tinkamas šablono prielaidas, nustatytas sutartyje.

Norėdami sužinoti daugiau apie suvaržymus ir apribojimus, galite patikrinti dokumentus čia.

Šalys ir valdžia

DAML turi tinkamą būdą elgtis su šalimis ir suteikti joms teisę naudotis sutartimi. Jomis galite ne tik perduoti įgaliojimus, bet ir parašyti išplėstinius pasirinkimus, kurie gali pakeisti knygos veikimą. Šis lankstumas yra svarbus, nes jis suteikia šalims pakankamai įrankių, kad galėtų pakeisti dalykus, taip pat nepaliestų pagrindinės sutarties idėjos.

Pvz., Galite užkirsti kelią IOU atšaukimui arba geriau atlikti vienkartinę prieigą naudodami pasiūlymo-priėmimo darbo eigas. DAML yra daugybė galimybių pateikti sprendimą kiekvienam scenarijui.

Skaitykite daugiau apie partijas ir valdžią čia.

Išvada

Tai veda mus į mūsų DAML mokymo programos pabaigą. Šioje pamokoje mums pavyko sužinoti apie DAML ir kuo jis ypatingas. Mes taip pat sužinojome apie DAML vidinį darbą ir kitus pagrindinius programavimo kalbos aspektus, tokius kaip duomenų tipai, scenarijai ir pan. Šios pagrindinės sąvokos padės jums įsitraukti į DAML projektus, kurių ketinate imtis ateityje.

Taigi, ką tu galvoji apie DAML? Ar manote, kad ji gali tapti visur esančia programavimo kalba kuriant decentralizuotas programas? Pakomentuokite žemiau ir praneškite mums.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me