Vadnica za DAML: Kako začeti z DAML

Iščete vadnico DAML? Če se, potem ste prišli na pravo mesto. V tem članku bomo naredili pravilno vadnico za verigo blokov DAML.

Vadnica bo prešla skozi osnovno razumevanje DAML, zakaj je to potrebno, in primere kode, ki bodo bolj smiselni. Če ste začetnik, boste našli vadnico za začetek uporabe DAML-a. Skratka, to je odlična vadnica DAML za začetnike. Vendar to ni popolna vadnica za razvoj DAML, saj v vadnici ne bomo zgradili nobene popolne aplikacije, saj to presega obseg članka.

Vadnica za DAML: Kako začeti z DAML

Torej, kaj je DAML? Raziskujmo.

Potrebujete osvežitev blockchain? Za začetek si oglejte priročnik Blockchain for Beginners! Oglejte si tudi naš Ultimate Guide to DAML.

Kaj je DAML?

DAML je odprtokodni programski jezik za razvoj porazdeljenih aplikacij. Razvijalcem omogoča, da te porazdeljene aplikacije ustvarijo jedrnato, hitro in pravilno.

Hyperledger vzdržuje DAML in je postal del njegovega ekosistema. Zaradi tega je DAML eden izmed programskih jezikov, ki se izvajajo na vrhu vodilnih blockchain platform. Da, sprejema ga več platform. Razvijalcem olajša tudi hiter razvoj svoje aplikacije in nato odločitev, kje jo želijo uvesti.

Zakaj je DAML tako poseben?

DAML je programski jezik za izdelavo porazdeljenih jezikov. Z vedno več podjetji, ki razumejo pomen distribuiranih aplikacij, DAML ponuja orodja za doseganje ciljev tem podjetjem in njihovim razvijalcem. To je pravzaprav eno tistih neverjetnih orodij, ki vam omogočajo, da svojo distribuirano aplikacijo nadzirate.

DAML se problemov trdega oblikovanja loteva neposredno, saj ponuja rešitev za kompleksne probleme, kot sta sinhronizacija porazdeljenega stanja in kriptografija. Da bi dosegli cilj, je preoblikovan. 

Osnovni načrt ali izvedba je abstraktna, ko razvijalec napiše svojo blockchain aplikacijo. Razvijalcu omogoča, da se osredotoči na abstraktne zahteve in DAML pusti, da obvlada vse trdo delo. Če veste, da je DAML poseben, lahko bolje spoznate učenje DAML-a z našo vadnico DAML.

DAML funkcije

V tem poglavju naše vadnice DAML bomo spoznali ključne značilnosti DAML.

Podatkovni model: DAML razvijalcem omogoča enostavno izdelavo zapletenih podatkovnih shem za njihovo uporabo. To olajša načrtovanje in izvajanje zapletenih zahtev ali poslovnih procesov.

Drobna dovoljenja: Pogodbe DAML so natančno nastavljene tako, da nastavijo dovoljenja. To pomeni, da lahko razvijalci določijo, kdo bi lahko podpisal pogodbo, kdo jo lahko vidi in pod kakšnimi pogoji.

Poslovna logika: Tudi poslovno logiko je mogoče enostavno integrirati. Razvijalec lahko napiše dejanja, ki so potrebna za pogodbo, njene trditve, parametre in drugo!

Preskušanje na podlagi scenarija: Preizkušanje na podlagi scenarija je možno tudi z DAML. Razvijalcu omogoča preizkus poslovne logike in drugih vidikov vaših decentraliziranih aplikacij, na primer delovnih tokov.

Izvajalne funkcije

Poleg zgoraj omenjenih štirih osnovnih funkcij imamo še DAML Runtime. Izvajalno okolje se nanaša na okolje, ki ga je ustvarila aplikacija med izvajanjem. V tem stanju imajo ključne značilnosti, zaradi katerih program deluje učinkovito in uspešno. Z učenjem o njih v vadnici DAML boste lahko utrdili svoje učenje DAML.

O njih se pogovorimo spodaj.

Shranjevanje abstrakcije → Shranjevanje abstrakcije ponuja plast obstojnosti, ki zagotavlja, da so vsi programi DAML agnotični za shranjevanje. Preprosto povedano, programi DAML niso odvisni od izbranega pomnilnika, saj lahko te podatke pretvorijo v prebavljivo obliko.

Preverjanje dovoljenj → Pooblastilo preveri vsa dejanja v okviru pogodbe. Če dejanje ne opravi ustreznega pooblastila, ga ne bo mogoče izvesti.

Nato bo pogodba povzročila napako med izvajanjem in obvestila kupca ali razvijalca.

Sledenje odgovornosti → Izvajalno okolje je odgovorno tudi za sledenje odgovornosti. Zagotavlja, da pogodbeni stranki prostovoljno skleneta sporazum. Za njegovo uresničitev so bili potrebni podpisi podpisnikov. To se naredi za zaščito kupca pred kakršnimi koli silami, ki jih izvaja organizator ali prodajalec. 

Atomska sestavljivost → DAML podpira atomsko zasnovo. To pomeni, da se vsa dejanja izvajajo atomsko in jih je zato mogoče bodisi storiti bodisi sploh ne. Pri izvrševanju pogodb ni srednjega pomena. To se naredi za zagotovitev varnosti poteka dela in izkoriščevalcev.

Brez dvojne porabe → Z izvajanjem DAML so pogodbe zasnovane tako, da zagotavljajo dvojno porabo. To pomeni, da iste pogodbe ni mogoče izvršiti dvakrat. 

Zasebnost, ki jo je treba vedeti → DAML ponuja raven pod-transakcije, ki da informacije na voljo, ko so odobrene.

Deterministična izvedba → Nazadnje, izvajalno okolje podpira deterministično izvajanje. To pomeni, da je učinek katerega koli dejanja odvisen od trenutnega stanja v knjigi.

Uvod v DAML

V tem poglavju naše vadnice DAML si bomo ogledali vodnik za začetek vaje DAML blockchain. Preden lahko uporabite DAML, ga morate namestiti.

Če želite uporabljati DAML, morate slediti dvostopenjskemu postopku.

1) Nameščanje odvisnosti

Če želite uporabiti DAML, morate najprej namestiti odvisnosti. Če želite to narediti, morate SDK prenesti in namestiti v svoj operacijski sistem.

Razen tega bi bilo najbolje, če bi imeli tudi naslednje

  • Visual Studio Code ali katero koli združljivo integrirano razvojno okolje
  • JDK 8 ali več.

2) Namestitev SDK

Če uporabljate Windows, lahko odprete povezavo in prenesite izvršljivo datoteko.

Za Linux ali MAC morate zagnati naslednji ukaz s pomočjo curl.

curl –sSL https://get.daml.com/ | sh

Zahteval bo, da spremenljivki PATH dodate ~ / .daml / bin. Ko končate, ste pripravljeni za uporabo DAML.

Vodič za začetnike DAML

Nikoli niste sodelovali z DAML? Potem ne skrbite, saj bomo v tem poglavju preučili osnove DAML, njegove vrste podatkov, predloge, funkcije, izraze itd.!

Preden pa to storimo, moramo razumeti model (Ledger) DA (Digital Asset). Je pomemben del naše vadnice DAML.

Model DA Ledger

Model DA Ledger je jedro DAML-a. Ponuja večstranski potek dela s pomočjo navidezne skupne knjige. Za boljšo predstavo si lahko ogledate spodnji posnetek zaslona.

Vir: DAML dokumentacija

Model se uporablja za določanje strukture strukturnih knjig DA (kaj), modela integritete (kdo lahko zahteva) in modela zasebnosti (kdo lahko vidi).

Če želite bolj poglobljeno razumeti model DA Ledger, si oglejte uradno dokumentacijo tukaj.

Osnovne pogodbe

V jedru DAML boste našli knjigo DAML. Pregledali bomo majhno predlogo, saj nam bo pomagala razumeti bistvene koncepte, vključno s transakcijami, pogodbami za predloge, podpisniki, moduli DAML in datotekami..

Zaveže

DAML Ledger vsebuje seznam “prevzema”. Preprosto povedano je oddana transakcija v knjigo. Kot pogodbo lahko o njej razmišljate kot o aktivni transakciji, ki jo je treba izvršiti, njeno izvrševanje pa je odvisno od lastnosti pogodbe in pogojev.

DAML moduli in datoteke

Preden začnete, morate omeniti različico DAML. To lahko storite na vrhu datoteke DAML. Različica bo prevajalniku sporočila, katera različica jezika se uporablja.

prekleto 1.2

Za uvoz modula morate uporabiti ključno besedo “module”.

modul Token kje

Komentarji

Če želite dodati komentarje, lahko to storite s pomočjo ključne besede “-“.

– To je komentar

Predloge

Predloga se uporablja za določitev vrste pogodbe. Ta opredeljuje subjekte, ki imajo dostop do izvršitve pogodbe. Pogodbe si lahko predstavljate kot primerke predloge.

Predloga Token

    s

        lastnik: Party

    kje 

        lastnik podpisnik

Kot lahko vidite, smo z uporabo ključne besede “template” definirali predlogo žetona. Potrebuje tudi argument. Še ena stvar, ki jo lahko opazite, je, da je usmerjena v presledek. Če ste že uporabljali Python, boste razumeli, kako je koda strukturirana in namenjena.

Na koncu lahko vidite ključno besedo podpisnik, ki označuje podpisnike primerkov pogodbe. Organ te stranke mora izvajati ukrepe v zvezi s pogodbo, vključno z njenim arhiviranjem in ustvarjanjem. 

Razumevanje scenarijev s pomočjo predlog

Zdaj, ko smo razumeli osnovno strukturo predloge, bomo zdaj razumeli scenarije z uporabo dveh drugih predlog v naši vadnici DAML. Preden pa to storimo, razberemo, kaj točno je “scenarij.

Scenarij

Scenarij lahko najbolje opišemo kot testni recept, s katerim lahko preverimo, ali se predloge obnašajo, kot bi se morale. Uporablja se lahko za izvajanje preskusov transakcij. Oglejmo si spodnji primer.

token_test_one = scenarij ne

    sam <- getParty “sam”

    oddaj sam do

        ustvari žeton z lastnikom = sam

Zgoraj je osnovni scenarij, ki obravnava žeton za zabavo, imenovano “sam”.

Če želite zagnati scenarij, morate uporabiti studio DAML. 

Če želite izvedeti več o scenariju, predlagamo, da si ogledate stran z dokumentacijo scenarija tukaj.

Vrsta podatkov

Tako kot kateri koli programski jezik tudi DAML podpira vrste podatkov. Tipi podatkov omogočajo definiranje spremenljivke in shranjevanje podatkov tam.

Da vam bo poenostavljeno, predstavljajmo predloge kot tabele baz podatkov. Zdaj lahko podatke shranite v predlogo in si z načrtovanjem predloge pomagate enostavno upravljati.

Obstaja veliko izvornih podatkovnih vrst, ki jih ponuja DAML. Vključuje naslednje.

  • Stranka → Shranjevanje identitete entitete. Stranke lahko oddajo transakcije in podpišejo pogodbe.
  • Besedilo → Shrani znak Unicode
  • Int → shrani 64-bitna cela števila
  • Decime → shrani številke s fiksnimi točkami
  • Datum → shrani datum
  • Čas → shrani čas v UTC
  • RelTime → Shrani časovno razliko
  • ContractId → sklic na vrsto pogodbe

Spodaj je koda za razumevanje nekaterih izvornih vrst.

native_test = scenarij

  Sam <- getParty “Sam”

  Mysterio <- getParty “Mysterio”

  pustiti

    my_int = –657

    my_dec = 0,001: decimalno

    my_text = “Sam”

    my_bool = False

 

  trdi (Sam / = Mysterio)

  uveljavi (-my_int == 123)

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

  trdi (my_text == “Sam”)

DAML podpira tudi druge vrste podatkov, vključno z Tuples, Lists in Records. 

Če želite izvedeti več o vrstah podatkov v DAML, si oglejte njihovo dokumentacijsko stran tukaj.

Preoblikovanje podatkov z izbiro

DAML podpira nespremenljivost. To pomeni, da kadar koli je treba posodobiti podatke; z novimi podatki je treba ustvariti novo pogodbo. Vendar ni vedno tako, saj se vedno lahko kaj zelo majhnega spremeni in spremeni. Na primer, podjetje bo morda želelo spremeniti svojo telefonsko številko, da to stori z uporabo izbire.

Oglejmo si primer iz dokumentacije DAML.

predloga Kontakt

  s

    lastnik: Party

    stranka: stranka

    naslov: Besedilo

    telefon: Besedilo

  kje

    lastnik podpisnik

 

    lastnik krmilnika lahko

      Posodobite telefon

        : ContractId Contact

        s

          newTelephone: Besedilo

        naredi

          ustvari to z

            telefon = novTelefon

Večina kode je zgoraj samoumevna. Edino, kar morate vedeti, je, da smo določili izbiro, imenovano »UpdateTelephone«.

Izbire je mogoče uporabiti tudi kot prenos. Nazadnje jih je mogoče vključiti tudi v model Ledger. 

Če želite izvedeti več o izbirah DAML, si oglejte uradno stran z dokumentacijo tukaj.

Dodajanje omejitev pogodbi

Omejitve v pogodbo DAML lahko dodate tudi s pomočjo ključne besede »zagotoviti«. Za dodajanje omejitev pogodbi lahko uporabite tudi drugi mehanizem, ki uporablja ključno besedo “uveljavi, prekini in napaka”.

Preden pa to storite, morate v pogodbi določiti ustrezne predpogoje za predloge. 

Če želite izvedeti več o omejitvah in omejitvah, si oglejte dokumentacijo tukaj.

Stranke in oblast

DAML ima ustrezen način ravnanja s strankami in jim dovoli dostop do pogodbe. Z njimi lahko ne samo prenesete pooblastilo, temveč tudi napišete napredne odločitve, ki lahko spremenijo način delovanja knjige. Ta prilagodljivost je pomembna, saj daje strankam dovolj orodij, da spremenijo stvari, in ohranja nedotaknjeno tudi osnovno idejo pogodbe. 

Preklic IOU na primer lahko preprečite ali bolje opravite enkratno avtorizacijo s poteki dela-predlagaj-sprejmi. V DAML je na voljo veliko možnosti, ki nudijo rešitev za skoraj vsak scenarij.

Preberite več o strankah in avtoritetah tukaj.

Zaključek

To nas vodi do konca naše vadnice DAML. V tej vadnici smo uspeli izvedeti več o DAML in o tem, kaj ga naredi posebnega. Spoznali smo tudi notranje delovanje DAML in druge ključne vidike programskega jezika, kot so tipi podatkov, scenariji itd. Ti ključni koncepti vam bodo pomagali, da se vključite v projekte DAML, ki jih boste izvedli v prihodnosti.

Torej, kaj menite o DAML-u? Ali menite, da lahko postane vseprisotni programski jezik za ustvarjanje decentraliziranih aplikacij? Komentirajte spodaj in nam sporočite.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map