DAML Opplæring: Komme i gang med DAML

Leter du etter en DAML-opplæring? Hvis du gjør det, har du kommet til rett sted. I denne artikkelen vil vi gjøre en skikkelig DAML blockchain tutorial.

Opplæringen vil gå gjennom en grunnleggende forståelse av DAML, hvorfor det er nødvendig, og kodeeksempler for å få mer mening ut av det. Hvis du er nybegynner, finner du veiledningen for å komme i gang med DAML. Kort sagt, dette er en perfekt DAML-opplæring for nybegynnere. Det er imidlertid ikke en fullstendig DAML-utviklingsveiledning, da vi ikke skal bygge noen fullstendig applikasjon i opplæringen, da den er utenfor artikkelens omfang..

DAML Opplæring: Komme i gang med DAML

DAML opplæring

Så, hva er DAML? La oss utforske.

Trenger du en blokkjedeoppfriskning? Ta en titt på Blockchain for Beginners-guiden for å komme i gang! Ta også en titt på vår Ultimate Guide to DAML.

Hva er DAML?

DAML er et programmeringsspråk med åpen kildekode for utvikling av distribuerte applikasjoner. Det lar utviklere lage disse distribuerte applikasjonene kort, raskt og riktig.

Hyperledger vedlikeholder DAML og har gjort det til en del av sitt økosystem. Dette gjør også DAML til et av programmeringsspråkene som kjører på toppen av de ledende blockchain-plattformene der ute. Ja, det godtas av flere plattformer. Det gjør det også enkelt for utviklere å raskt utvikle applikasjonen og deretter bestemme hvor de vil distribuere den.

Hva gjør DAML så spesiell?

DAML er et programmeringsspråk for å bygge distribuerte språk. Med flere og flere selskaper som forstår viktigheten av distribuerte applikasjoner, gir DAML et verktøy for disse selskapene og deres utviklere for å nå sine mål. Det er faktisk et av de fantastiske verktøyene som lar deg ta med deg den distribuerte applikasjonen din.

DAML takler de harde designproblemene front-up da det gir en løsning på komplekse problemer som distribuert tilstandssynkronisering og kryptografi. For å oppnå målet er det redesignet.

Den underliggende designen eller implementeringen blir abstrakt når en utvikler skriver sin blockchain-applikasjon. Det lar utvikleren fokusere på det abstrakte kravet og la DAML håndtere alt det harde arbeidet. Ved å vite at DAML er spesiell, kan du bedre sette pris på å lære DAML ved å bruke DAML-opplæringen.


DAML-funksjoner

I denne delen av DAML-opplæringen vil vi lære om DAML-nøkkelfunksjoner.

Datamodell: DAML lar utviklere enkelt lage komplekse dataskjemaer for applikasjonen. Dette gjør det enkelt å designe og implementere komplekse krav eller forretningsprosesser.

Finkornede tillatelser: DAML-kontraktene er finjustert for å angi tillatelser. Dette betyr at utviklere kan angi hvem som kan signere kontrakten, hvem som kan se den og på hvilke betingelser.

Forretningslogikk: Virksomhetslogikk kan også enkelt integreres. En utvikler kan skrive handlinger som kreves i kontrakten, dens påstander, parametere og mer!

Scenariobasert testing: Scenariobasert testing er også mulig med DAML. Det lar utvikleren teste forretningslogikken og andre aspekter av de desentraliserte appene dine, for eksempel arbeidsflyter.

Runtime-funksjoner

Bortsett fra de ovennevnte fire kjernefunksjonene, har vi også DAML Runtime. Runtime refererer til miljøet som ble opprettet av applikasjonen under kjøringen. I denne tilstanden som har sentrale funksjoner som gjør at programmet kjører effektivt og effektivt. Ved å lære om dem i DAML-opplæringen, vil du kunne styrke DAML-læringen din.

La oss snakke om dem nedenfor.

Lagringsabstraksjon → Lagringsabstrahering tilbyr et utholdenhetslag som sikrer at alle DAML-programmene er lagringsagnostiske. Enkelt sagt er DAML-programmene ikke avhengig av valgt lagring, da de kan konvertere nevnte data til et fordøyelig format.

lagring-abstraksjon

Autorisasjonskontroller → Autorisasjonen sjekker alle handlingene i en kontrakt. Hvis handlingen ikke består riktig autorisasjon, vil den ikke kunne utføres.

daml-tutorial-autorisasjonskontroller

Kontrakten vil da kaste en kjøretidsfeil og informere kjøperen eller utvikleren.

daml-tutorial-error.

Sporing av ansvarlighet → Kjøretiden er også ansvarlig for sporing av ansvarlighet. Den sørger for at partene frivillig inngår avtalen. For å få det til, var det nødvendig med signaturer. Dette gjøres for å beskytte kjøperen fra enhver kraftig oppførsel fra arrangøren eller selgeren.

Atomic Composability → DAML støtter atomdesign. Dette betyr at alle handlinger utføres atomisk og dermed enten kan begås eller ikke i det hele tatt. Det er ingen mellomting når det gjelder gjennomføring av kontrakter. Dette gjøres for å sikre arbeidsflyten og holde utnyttere borte.

Ingen doble utgifter → Med DAML-kjøretid er kontraktene utformet for å sikre at det ikke er mulig å bruke dobbeltbruk. Dette betyr at den samme kontrakten ikke kan utføres to ganger.

Trenger du å vite personvern → DAML tilbyr et undertransaksjonsnivå, som gjør informasjonen tilgjengelig når den er godkjent.

Deterministisk henrettelse → Til slutt støtter kjøretiden deterministisk kjøring. Dette betyr at enhver handlings effekt avhenger av hovedbokens nåværende tilstand.

Komme i gang med DAML

I denne delen av vår DAML-opplæring vil vi se på startveiledningen for DAML blockchain-opplæringen. Før du kan bruke DAML, må du installere den.

For å bruke DAML, må du følge en totrinnsprosess.

1) Installere avhengigheter

For å bruke DAML, må du først installere avhengighetene. For å gjøre det, må du laste ned SDK og installere den på operativsystemet.

Annet enn det, ville det være best hvis du også hadde følgende

  • Visual Studio Code eller et hvilket som helst kompatibelt integrert utviklingsmiljø
  • JDK 8 eller høyere.

2) SDK-installasjon

Hvis du bruker Windows, kan du gå til lenke, og last ned den kjørbare filen.

For Linux eller MAC må du kjøre følgende kommando med curl.

krølle –sSL https://get.daml.com/ | sh

Det vil be deg om å legge til ~ / .daml / bin i PATH-variabelen. Når du er ferdig, er du klar til å bruke DAML.

DAML Tutorial Beginner’s Guide

Har du aldri jobbet med DAML? Så ikke bekymre deg, som i denne delen skal vi gå gjennom det grunnleggende om DAML, dets datatyper, maler, funksjoner, uttrykk og så videre.!

Men før vi gjør det, må vi forstå (Digital Asset) DA Ledger Model. Det er en viktig del av vår DAML-opplæring.

DA Ledger Model

DA Ledger Model er kjernen i DAML. Den tilbyr arbeidsflyter med flere parter ved hjelp av en virtuell delt reskontro. For å få en bedre ide, kan du sjekke skjermbildet nedenfor.

DAML-Tutorial-Ledger-Model

Kilde: DAML-dokumentasjon

Modellen brukes til å definere, DA ledgers struktur (hva), integritetsmodell (hvem kan be om) og personvernmodell (hvem kan se).

For å få en mer inngående forståelse av DA Ledger Model, sjekk ut den offisielle dokumentasjonen her.

Grunnleggende kontrakter

I kjernen av DAML finner du en DAML-reskontro. Vi kommer til å gå gjennom en liten mal, da det vil hjelpe oss å forstå viktige konsepter, inkludert transaksjoner, malkontrakter, signatører, DAML-moduler og filer.

Forplikter

DAML Ledger inneholder en “commits” -liste. Enkelt sagt er en forpliktelse en innsendt transaksjon til hovedboken. Fra kontrakt kan du tenke på det som en aktiv transaksjon som må utføres, og gjennomføringen avhenger av kontraktens attributter og betingelser.

DAML-moduler og filer

Før du begynner, må du nevne DAML-versjonen. Det kan gjøres øverst i DAML-filen. Versjonen vil varsle kompilatoren hvilken versjon av språket som brukes.

jævla1.2

For å importere modulen, må du bruke nøkkelordet “modul”.

moduleTokenwhere

Kommentarer

Hvis du vil legge til kommentarer, kan du gjøre det ved å bruke nøkkelordet “-”.

– Dette er en kommentar

Maler

En mal brukes til å definere kontraktstypen. Dette definerer enhetene som har tilgang til å utføre kontrakten. Du kan tenke på kontrakter som malforekomster.

maltegning

med

eier: Fest

hvor

signatær eier

Som du kan se, definerte vi en tokenmal ved å bruke nøkkelordet “mal”. Det krever også et argument. En ting til som du kan legge merke til er at det er hvitt-rom-orientert. Hvis du har brukt Python før, vil du forstå hvordan koden er strukturert og ment.

Til slutt kan du se underskriftsnøkkelordet, som betyr signaturer for kontraktforekomster. Denne partens myndighet kreves for å iverksette tiltak på kontrakten, inkludert arkivering og opprettelse av den.

Forstå scenariene ved hjelp av maler

Nå som vi har forstått den grunnleggende strukturen til en mal, skal vi nå forstå scenariene ved å bruke to andre maler i vår DAML-opplæring. Men før vi gjør det, la oss forstå hva som er “scenario.

Scenario

Et scenario kan best beskrives som en testoppskrift som kan brukes til å sjekke om malene oppfører seg som de skal. Den kan brukes til å utføre transaksjonstester. La oss ta en titt på eksemplet nedenfor.

token_test_one = scenario gjør

sam <- getParty “sam”

sende inn sam do

lag Token med eier = sam

Ovennevnte er det grunnleggende scenariet som omhandler Token for en fest kjent som “sam.”

For å kjøre scenariet må du bruke DAML-studioet.

For å lære mer om scenariet, foreslår vi at du sjekker ut scenario dokumentasjonsside her.

Data-type

Akkurat som ethvert programmeringsspråk støtter DAML også datatyper. Datatypene lar deg definere en variabel og lagre data der.

La oss tenke maler som databasetabeller for å gjøre det enklere for deg. Nå kan du lagre data i malen og hjelpe deg selv med å administrere dem enkelt gjennom malutforming.

Det er mange innfødte datatyper som DAML kommer inn. Den inkluderer følgende.

  • Fest → For å lagre enhetsidentitet. Partene kan sende inn transaksjoner og signere kontrakter.
  • Tekst → Lagrer Unicode-tegn
  • Int → lagrer 64-biters heltall
  • Decime → lagrer faste punktnumre
  • Dato → lagrer en dato
  • Tid → lagrer tid i UTC
  • RelTime → Lagrer tidsforskjell
  • ContractId → referanse til kontraktstype

Nedenfor er koden for å forstå noen av de innfødte typene.

native_test = scenario gjør

Sam <- getParty “Sam”

Mysterio <- getParty “Mysterio”

la

min_int = –657

min_dec = 0,001: Desimal

my_text = “Sam”

my_bool = Falsk

påstå (Sam / = Mysterio)

hevder (-my_int == 123)

påstå (1000.0 * my_dec == 1.0)

hevder (my_text == “Sam”)

DAML støtter også andre datatyper, inkludert tupler, lister og poster.

For å lære om datatypene i DAML, sjekk ut dokumentasjonssiden deres her.

Transformere data ved hjelp av valg

DAML støtter uforanderlighet. Det betyr når det er behov for å oppdatere data; det må opprettes en ny kontrakt med de nye dataene. Det er imidlertid ikke alltid tilfelle, da det alltid er noe veldig lite å endre og modifisere. For eksempel vil et selskap kanskje endre telefonnummeret for å gjøre det ved hjelp valg.

La oss se på et eksempel tatt i DAML-dokumentasjonen.

mal Kontakt

med

eier: Fest

fest: Fest

adresse: Tekst

telefon: Tekst

hvor

signatær eier

kontrolløren kan

Oppdater telefon

: ContractIdContact

med

ny Telefon: Tekst

gjøre

lage dette med

telefon = ny Telefon

Det meste av koden er selvforklarende ovenfor. Det eneste du trenger å vite er at vi definerte et valg kjent som “UpdateTelephone.”

Valg kan også brukes som en delegasjon. Til slutt kan de også integreres i Ledger Model.

For å lære mer om DAML-valgene, kan du sjekke ut den offisielle dokumentasjonssiden her.

Legge begrensninger til en kontrakt

Du kan også legge til begrensninger i DAML-kontrakten ved å bruke nøkkelordet “sikre”. Du kan også bruke den andre mekanismen som bruker søkeord for påstand, avbryte og feil for å legge begrensninger til kontrakten.

Men før du gjør det, må du ha riktige malforutsetninger satt i kontrakten.

For å lære mer om begrensningene og begrensningene, kan du sjekke dokumentasjonen her.

Partier og autoritet

DAML har en skikkelig måte å håndtere parter og gi dem tillatelse til å få tilgang til en kontrakt. Du kan bruke dem til å ikke bare overføre myndighet, men også skrive avanserte valg som kan endre hvordan hovedboken fungerer. Denne fleksibiliteten er viktig ettersom den gir partene nok verktøy til å endre ting og også holde hovedideen til kontrakten intakt.

For eksempel kan du forhindre IOU-tilbakekalling eller bedre gjøre engangsgodkjenning ved hjelp av foreslå-godta arbeidsflyter. Det er mange alternativer som er laget i DAML for å gi en løsning for nesten alle scenarier der ute.

Les mer om fester og myndigheter her.

Konklusjon

Dette fører oss til slutten av vår DAML-opplæring. I denne veiledningen klarte vi å lære om DAML og hva som gjør det spesielt. Vi lærte også om DAMLs interne arbeid og andre viktige aspekter ved programmeringsspråket, for eksempel datatyper, scenarier og så videre. Disse nøkkelkonseptene vil hjelpe deg med å engasjere deg i DAML-prosjektene du skal ta i fremtiden.

Så, hva synes du om DAML? Tror du at det har potensial til å bli et allestedsnærværende programmeringsspråk for å lage desentraliserte applikasjoner? Kommenter nedenfor og gi oss beskjed.

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