Etsitkö DAML-opetusohjelmaa? Jos teet niin, olet tullut oikeaan paikkaan. Tässä artikkelissa teemme oikean DAML-lohkoketjun opetusohjelman.
Opetusohjelma käy läpi DAML: n perustiedot, miksi sitä tarvitaan, ja koodiesimerkkejä, jotta siitä olisi järkevämpää. Jos olet aloittelija, löydät opetusohjelman, jolla pääset alkuun DAML: n kanssa. Lyhyesti sanottuna tämä on täydellinen DAML-opetusohjelma aloittelijoille. Se ei kuitenkaan ole täydellinen DAML-kehityksen opetusohjelma, koska emme aio rakentaa mitään täydellistä sovellusta opetusohjelmaan, koska se on artikkelin ulkopuolella.
Contents
- 1 DAML-opetusohjelma: DAML: n käytön aloittaminen
- 1.1 Mikä on DAML?
- 1.2 Mikä tekee DAML: stä niin erikoisen?
- 1.3 DAML-ominaisuudet
- 1.4 Suorituksen ominaisuudet
- 1.5 DAML: n käytön aloittaminen
- 1.6 DAML-opas Aloittelijan opas
- 1.7 Skenaarioiden ymmärtäminen mallien avulla
- 1.8 Tietotyyppi
- 1.9 Tietojen muuntaminen valintojen avulla
- 1.10 Rajoitusten lisääminen sopimukseen
- 1.11 Osapuolet ja viranomainen
- 1.12 Johtopäätös
DAML-opetusohjelma: DAML: n käytön aloittaminen
Joten mikä on DAML? Tutkitaan.
Tarvitsetko blockchain-päivityksen? Aloita tutustumalla Blockchain for Beginners -oppaaseen! Katso myös Ultimate Guide to DAML.
Mikä on DAML?
DAML on avoimen lähdekoodin ohjelmointikieli hajautettujen sovellusten kehittämiseen. Sen avulla kehittäjät voivat luoda nämä hajautetut sovellukset ytimekkäästi, nopeasti ja oikein.
Hyperledger ylläpitää DAML: ää ja on tehnyt siitä osan ekosysteeminsä. Tämä tekee myös DAML: stä yhden ohjelmointikielen, joka toimii johtavien blockchain-alustojen päällä. Kyllä, useat käyttöympäristöt hyväksyvät sen. Kehittäjien on myös helppo kehittää sovelluksensa nopeasti ja sitten päättää, mihin he haluavat sijoittaa.
Mikä tekee DAML: stä niin erikoisen?
DAML on ohjelmointikieli hajautettujen kielten rakentamiseen. Yhä useamman yrityksen ymmärtäessä hajautettujen sovellusten merkityksen DAML tarjoaa työkalun yrityksille ja niiden kehittäjille tavoitteiden saavuttamiseksi. Se on itse asiassa yksi niistä hämmästyttävistä työkaluista, joiden avulla voit ottaa hajautetun sovelluksesi hallintaan.
DAML käsittelee vaikeita suunnitteluongelmia etupäässä, koska se tarjoaa ratkaisun monimutkaisiin ongelmiin, kuten hajautetun tilan synkronointiin ja salaukseen. Tavoitteen saavuttamiseksi se suunnitellaan uudelleen.
Taustalla oleva suunnittelu tai toteutus abstraktio, kun kehittäjä kirjoittaa blockchain-sovelluksensa. Sen avulla kehittäjä voi keskittyä abstraktiin vaatimukseen ja antaa DAML: n hoitaa kaiken kovan työn. Kun tiedät, että DAML on erityinen, voit paremmin arvostaa DAML: n oppimista DAML-opetusohjelmamme avulla.
DAML-ominaisuudet
Tässä DAML-opetusohjelmamme osassa opit DAML-tärkeimmistä ominaisuuksista.
Tietomalli: DAML antaa kehittäjien luoda helposti monimutkaisia tietomalleja sovelluksilleen. Tämä tekee monimutkaisten vaatimusten tai liiketoimintaprosessien suunnittelusta ja toteuttamisesta helppoa.
Hienorakeiset käyttöoikeudet: DAML-sopimuksia hienosäädetään käyttöoikeuksien asettamiseksi. Tämä tarkoittaa, että kehittäjät voivat määrittää, kuka voi allekirjoittaa sopimuksen, kuka näkee sen ja millä ehdoin.
Liikelogiikka: Liikelogiikka voidaan myös integroida helposti. Kehittäjä voi kirjoittaa sopimukseen, sen väitteisiin, parametreihin ja muuhun vaadittavat toimet!
Skenaariopohjainen testaus: Skenaariopohjainen testaus on mahdollista myös DAML: n kanssa. Sen avulla kehittäjä voi testata hajautettujen sovellusten liiketoimintalogiikkaa ja muita näkökohtia, kuten työnkulkuja.
Suorituksen ominaisuudet
Edellä mainittujen neljän perusominaisuuden lisäksi meillä on myös DAML Runtime. Ajonaika viittaa sovelluksen luomaan ympäristöön suorituksen aikana. Tässä tilassa sillä on keskeisiä ominaisuuksia, jotka saavat ohjelman toimimaan tehokkaasti. Kun opit niistä DAML-opetusohjelmassa, voit vahvistaa DAML-oppimistasi.
Puhutaan niistä alla.
Varastoinnin abstraktio → Tallennuksen abstraktio tarjoaa pysyvän kerroksen, joka varmistaa, että kaikki DAML-ohjelmat ovat varastointi-agnostisia. Yksinkertaisesti sanottuna DAML-ohjelmat eivät riipu valitusta tallennustilasta, koska ne voivat muuntaa mainitut tiedot sulavaksi muodoksi.
Valtuutustarkistukset → Valtuutus tarkistaa kaikki sopimuksen toimet. Jos toiminto ei läpäise asianmukaista valtuutusta, sitä ei sallita suorittaa.
Sitten sopimus heittää ajonaikaisen virheen ja ilmoittaa siitä ostajalle tai kehittäjälle.
Tilivelvollisuuden seuranta → Ajonaika on myös vastuussa vastuullisuuden seurannasta. Se varmistaa, että osapuolet tekevät vapaaehtoisen sopimuksen. Sen toteuttamiseksi vaadittiin allekirjoittajien allekirjoituksia. Tämä tehdään ostajan suojaamiseksi järjestäjän tai myyjän voimakkaalta käytöltä.
Atomic Composability → DAML tukee atomisuunnittelua. Tämä tarkoittaa, että kaikki toiminnot suoritetaan atomisesti ja siten ne voidaan joko tehdä tai ei ollenkaan. Sopimusten toteuttamisessa ei ole keskitietä. Tämä tehdään työnkulun turvallisuuden varmistamiseksi ja hyväksikäyttäjien pitämiseksi poissa.
Ei kaksinkertaisia kuluja → DAML-ajon aikana sopimukset on suunniteltu varmistamaan, että kaksinkertainen käyttö ei ole mahdollista. Tämä tarkoittaa, että samaa sopimusta ei voida toteuttaa kahdesti.
Tarvittavan tietosuoja → DAML tarjoaa alitapahtumatason, joka antaa tiedot saataville, kun ne on hyväksytty.
Deterministinen toteutus → Lopuksi ajonaika tukee determinististä suoritusta. Tämä tarkoittaa, että minkä tahansa toiminnan vaikutus riippuu kirjanpidon nykyisestä tilasta.
DAML: n käytön aloittaminen
Tässä DAML-opetusohjelmamme osassa tarkastelemme DAML-lohkoketju-opetusohjelman aloitusopasta. Ennen kuin voit käyttää DAML: ää, sinun on asennettava se.
DAML: n käyttämiseksi sinun on noudatettava kaksivaiheista prosessia.
1) Riippuvuuksien asentaminen
DAML: n käyttämiseksi sinun on ensin asennettava riippuvuudet. Tätä varten sinun on ladattava SDK ja asennettava se käyttöjärjestelmääsi.
Sen lisäksi olisi parasta, jos sinulla olisi myös seuraava
- Visual Studio Code tai mikä tahansa yhteensopiva integroitu kehitysympäristö
- JDK 8 tai uudempi.
2) SDK-asennus
Jos käytät Windowsia, voit siirtyä linkki, ja lataa suoritettava tiedosto.
Linux- tai MAC-käyttöjärjestelmissä sinun on suoritettava seuraava komento käpristämällä.
käpristyminen –sL https://get.daml.com/ | sh
Se pyytää sinua lisäämään ~ / .daml / bin PATH-muuttujaasi. Kun olet valmis, olet valmis käyttämään DAML: ää.
DAML-opas Aloittelijan opas
Etkö ole koskaan työskennellyt DAML: n kanssa? Sitten, älä huoli, kuten tässä osiossa, käymme läpi DAML: n perusteet, sen tietotyypit, mallit, toiminnot, lausekkeet ja niin edelleen!
Mutta ennen kuin teemme, meidän on ymmärrettävä (Digital Asset) DA Ledger -malli. Se on tärkeä osa DAML-opetusohjelmaa.
DA Ledger -malli
DA Ledger -malli on DAML: n ydin. Se tarjoaa monen osapuolen työnkulkuja virtuaalisen jaetun kirjanpidon avulla. Saadaksesi paremman idean, voit tarkistaa alla olevan kuvakaappauksen.
Lähde: DAML-dokumentaatio
Mallia käytetään määrittelemään DA-kirjanpidon rakenne (mitä), eheysmalli (kuka voi pyytää) ja tietosuojamalli (kuka näkee).
Saadaksesi syvällisemmän käsityksen DA Ledger -mallista, tutustu virallisiin asiakirjoihin tässä.
Perussopimukset
DAML: n ytimessä on DAML-pääkirja. Käymme läpi pienen mallin, koska se auttaa meitä ymmärtämään olennaisia käsitteitä, kuten tapahtumia, mallipohjaisia sopimuksia, allekirjoittajia, DAML-moduuleja ja tiedostoja.
Sitoutuu
DAML Ledger sisältää “sitoutumisluettelon”. Yksinkertaisesti sanottuna sitoutuminen on toimitettu tapahtuma pääkirjaan. Sopimuksen jälkeen voit ajatella sitä aktiivisena tapahtumana, joka on suoritettava, ja sen toteutus riippuu sopimuksen ominaisuuksista ja ehdoista.
DAML-moduulit ja tiedostot
Ennen aloittamista sinun on mainittava DAML-versio. Se voidaan tehdä DAML-tiedoston yläosassa. Versio ilmoittaa kääntäjälle, mitä kieltä käytetään.
hitto1.2
Moduulin tuonnissa on käytettävä avainsanaa “module”.
moduleTokenwhere
Kommentit
Jos haluat lisätä kommentteja, voit tehdä sen käyttämällä avainsanaa “-”.
– Tämä on kommentti
Mallit
Mallia käytetään sopimustyypin määrittämiseen. Tämä määrittelee yksiköt, joilla on pääsy sopimuksen toteuttamiseen. Voit ajatella sopimuksia malliesimerkkeinä.
malli Token
kanssa
omistaja: Party
missä
allekirjoittajan omistaja
Kuten näette, määritimme Token-mallin käyttämällä “template” -avainsanaa. Se vaatii myös argumentin. Vielä yksi asia, jonka voit ottaa huomioon, on se, että se on avaruuteen suuntautunut. Jos olet käyttänyt Pythonia aiemmin, ymmärrät koodin rakenteen ja tarkoituksen.
Viimeisenä voit nähdä allekirjoittajan avainsanan, joka tarkoittaa sopimuksen esiintymien allekirjoittajia. Kyseisen osapuolen viranomaisen on toimittava sopimuksen suhteen, mukaan lukien arkistointi ja sen luominen.
Skenaarioiden ymmärtäminen mallien avulla
Nyt kun olemme ymmärtäneet mallin perusrakenteen, ymmärrämme nyt skenaariot käyttämällä kahta muuta mallia DAML-opetusohjelmassa. Mutta ennen kuin teemme, ymmärretään mikä onskenaario.”
Skenaario
Skenaariota voidaan parhaiten kuvata testireseptinä, jota voidaan käyttää tarkistamaan, toimivatko mallit mallin mukaan. Sitä voidaan käyttää transaktiotestien suorittamiseen. Katsotaanpa alla olevaa esimerkkiä.
token_test_one = skenaario
sam <- getParty “sam”
lähetä sam do
luo token omistajalla = sam
Yllä oleva on perusskenaario, joka käsittelee “sam” -nimisen osapuolen tunnusta.
Skenaarion suorittamiseksi sinun on käytettävä DAML-studiota.
Jos haluat lisätietoja skenaariosta, suosittelemme tutustumaan skenaariodokumentaation sivu täällä.
Tietotyyppi
Aivan kuten mikä tahansa ohjelmointikieli, DAML tukee myös tietotyyppejä. Tietotyyppien avulla voit määrittää muuttujan ja tallentaa tietoja sinne.
Ajattelemme malleja tietokantataulukoina, jotta se olisi sinulle helpompaa. Nyt voit tallentaa tietoja malliin ja auttaa itseäsi hallitsemaan niitä helposti mallin suunnittelun avulla.
DAML sisältää monia alkuperäisiä tietotyyppejä. Se sisältää seuraavat.
- Juhlat → Entiteetin identiteetin tallentaminen. Osapuolet voivat toimittaa liiketoimia ja allekirjoittaa sopimuksia.
- Teksti → tallentaa Unicode-merkin
- Int → tallentaa 64-bittiset kokonaisluvut
- Decime → tallentaa kiinteän pisteen numerot
- Päivämäärä → tallentaa päivämäärän
- Aika → tallentaa ajan UTC-aikaan
- RelTime → Tallentaa aikaerot
- ContractId → viittaus sopimustyyppiin
Alla on koodi joidenkin natiivityyppien ymmärtämiseksi.
native_test = skenaario
Sam <- getParty “Sam”
Mysterio <- getParty “Mysterio”
päästää
my_int = –657
my_dec = 0,001: desimaali
my_text = “Sam”
my_bool = väärä
väittää (Sam / = Mysterio)
väittää (-my_int == 123)
vakuuttaa (1000,0 * my_dec == 1,0)
vakuuttaa (my_text == “Sam”)
DAML tukee myös muita tietotyyppejä, kuten tuplia, luetteloita ja tietueita.
Jos haluat lisätietoja DAML: n tietotyypeistä, käy heidän dokumentointisivulla tässä.
Tietojen muuntaminen valintojen avulla
DAML tukee muuttumattomuutta. Tämä tarkoittaa aina, kun on tarpeen päivittää tietoja; uusien tietojen kanssa on luotava uusi sopimus. Näin ei kuitenkaan aina ole, koska aina on jotain hyvin pientä muutettavaa ja muokattavaa. Esimerkiksi yritys saattaa haluta vaihtaa puhelinnumeronsa tehdäksesi sen käyttämällä valintoja.
Katsotaanpa esimerkkiä DAML-dokumentaatiosta.
malli Yhteystiedot
kanssa
omistaja: Party
juhla juhla
osoite: Teksti
puhelin: teksti
missä
allekirjoittajan omistaja
ohjaimen omistaja voi
Päivitä puhelin
: ContractIdContact
kanssa
uusi puhelin: teksti
tehdä
luo tämä
puhelin = uusi puhelin
Suurin osa koodista on yllä selkeä. Ainoa asia, joka sinun on tiedettävä, on se, että määritimme vaihtoehdon, joka tunnetaan nimellä “UpdateTelephone”.
Valintoja voidaan käyttää myös valtuuskuntana. Lopuksi ne voidaan integroida myös Ledger-malliin.
Saat lisätietoja DAML-valinnoista tutustumalla viralliseen dokumentaatiosivulle tässä.
Rajoitusten lisääminen sopimukseen
Voit myös lisätä rajoituksia DAML-sopimukseen käyttämällä varmistus-avainsanaa. Voit myös käyttää toista mekanismia, joka käyttää vahvistus-, keskeytys- ja virhe-avainsanoja rajoitusten lisäämiseen sopimukseen.
Mutta ennen kuin teet niin, sopimuksellasi on oltava asianmukaiset malliedellytykset.
Saat lisätietoja rajoituksista tutustumalla dokumentaatioon tässä.
Osapuolet ja viranomainen
DAML: llä on asianmukainen tapa käsitellä osapuolia ja valtuuttaa heidät pääsemään sopimukseen. Voit käyttää niitä paitsi auktoriteetin välittämiseen myös kirjoittaa edistyneempiä valintoja, jotka voivat muuttaa kirjanpidon toimintaa. Tämä joustavuus on tärkeää, koska se antaa osapuolille tarpeeksi työkaluja asioiden muuttamiseen ja pitää myös sopimuksen keskeisen ajatuksen ennallaan.
Voit esimerkiksi estää IOU: n peruuttamisen tai tehdä paremmin kertaluonteisen valtuutuksen käyttämällä ehdottaa-hyväksy-työnkulkuja. DAML: ssä on paljon vaihtoehtoja, jotka tarjoavat ratkaisun melkein kaikkiin siellä oleviin tilanteisiin.
Lue lisää puolueista ja viranomaisista tässä.
Johtopäätös
Tämä johtaa meidät DAML-opetusohjelmamme loppuun. Tässä opetusohjelmassa onnistuimme oppimaan DAML: stä ja sen erityispiirteistä. Opimme myös DAML: n sisäisestä toiminnasta ja muista ohjelmointikielen tärkeimmistä näkökohdista, kuten tietotyypeistä, skenaarioista ja niin edelleen. Nämä avainkäsitteet auttavat sinua sitoutumaan DAML-projekteihin, jotka aiot toteuttaa tulevaisuudessa.
Joten mitä mieltä olet DAML: stä? Luuletko, että sillä on potentiaalia tulla yleiseksi ohjelmointikieleksi hajautettujen sovellusten luomiseksi? Kommentoi alla ja kerro siitä meille.