Tutorial DAML: Ξεκινώντας με το DAML

Αναζητάτε ένα σεμινάριο DAML; Εάν το κάνετε, τότε έχετε έρθει στο σωστό μέρος. Σε αυτό το άρθρο, θα κάνουμε έναν κατάλληλο οδηγό blockchain DAML.

Το σεμινάριο θα περάσει από μια βασική κατανόηση του DAML, γιατί είναι απαραίτητο, και κωδικοποιεί παραδείγματα για να έχει πιο νόημα από αυτό. Εάν είστε αρχάριος, θα βρείτε το σεμινάριο για να ξεκινήσετε με το DAML. Εν ολίγοις, αυτό είναι ένα τέλειο σεμινάριο DAML για αρχάριους. Ωστόσο, δεν είναι ένα πλήρες σεμινάριο ανάπτυξης DAML, καθώς δεν πρόκειται να δημιουργήσουμε πλήρη εφαρμογή στο σεμινάριο, καθώς είναι πέρα ​​από το πεδίο εφαρμογής του άρθρου.

Tutorial DAML: Ξεκινώντας με το DAML

Λοιπόν, τι είναι το DAML; Ας εξερευνήσουμε.

Χρειάζεστε ανανέωση blockchain; Ρίξτε μια ματιά στον οδηγό Blockchain for Beginners για να ξεκινήσετε! Επίσης, δείτε τον απόλυτο οδηγό μας για το DAML.

Τι είναι το DAML?

Το DAML είναι μια γλώσσα προγραμματισμού ανοιχτού κώδικα για την ανάπτυξη κατανεμημένων εφαρμογών. Επιτρέπει στους προγραμματιστές να δημιουργούν αυτές τις κατανεμημένες εφαρμογές συνοπτικά, γρήγορα και σωστά.

Το Hyperledger διατηρεί το DAML και το έχει κάνει μέρος του οικοσυστήματος του. Αυτό καθιστά επίσης το DAML μία από τις γλώσσες προγραμματισμού που τρέχουν πάνω από τις κορυφαίες πλατφόρμες blockchain εκεί έξω. Ναι, γίνεται αποδεκτό από πολλές πλατφόρμες. Διευκολύνει επίσης τους προγραμματιστές να αναπτύξουν γρήγορα την εφαρμογή τους και στη συνέχεια να αποφασίσουν πού θέλουν να την αναπτύξουν.

Αυτό που κάνει το DAML τόσο ξεχωριστό?

Το DAML είναι μια γλώσσα προγραμματισμού για τη δημιουργία κατανεμημένων γλωσσών. Με όλο και περισσότερες εταιρείες να κατανοούν τη σημασία των κατανεμημένων εφαρμογών, το DAML παρέχει ένα εργαλείο για αυτές τις εταιρείες και τους προγραμματιστές τους για την επίτευξη των στόχων τους. Στην πραγματικότητα, είναι ένα από αυτά τα καταπληκτικά εργαλεία που σας επιτρέπουν να έχετε τη δική σας κατανεμημένη εφαρμογή στον έλεγχό σας.

Το DAML αντιμετωπίζει τα προβλήματα σκληρού σχεδιασμού άμεσα καθώς παρέχει μια λύση σε πολύπλοκα προβλήματα όπως ο συγχρονισμός κατανεμημένης κατάστασης και η κρυπτογραφία. Για την επίτευξη του στόχου, επανασχεδιάζεται. 

Ο υποκείμενος σχεδιασμός ή υλοποίηση αφαιρείται όταν ένας προγραμματιστής γράφει την εφαρμογή blockchain. Επιτρέπει στον προγραμματιστή να επικεντρωθεί στην αφηρημένη απαίτηση και να αφήσει το DAML να χειριστεί όλη τη σκληρή δουλειά. Γνωρίζοντας ότι το DAML είναι ξεχωριστό, μπορείτε να εκτιμήσετε καλύτερα την εκμάθηση του DAML χρησιμοποιώντας το σεμινάριο DAML.

Χαρακτηριστικά DAML


Σε αυτήν την ενότητα του οδηγού DAML, θα μάθουμε για τις βασικές δυνατότητες του DAML.

Μοντέλο δεδομένων: Το DAML επιτρέπει στους προγραμματιστές να δημιουργούν πολύπλοκα σχήματα δεδομένων για την εφαρμογή τους με ευκολία. Αυτό καθιστά εύκολο το σχεδιασμό και την εφαρμογή σύνθετων απαιτήσεων ή επιχειρηματικών διαδικασιών.

Λεπτά δικαιώματα: Τα συμβόλαια DAML είναι προσαρμοσμένα για να ορίζουν δικαιώματα. Αυτό σημαίνει ότι οι προγραμματιστές μπορούν να ορίσουν ποιος θα μπορούσε να υπογράψει τη σύμβαση, ποιος μπορεί να το δει και υπό ποιες προϋποθέσεις.

Επαγγελματική λογική: Η επιχειρηματική λογική μπορεί επίσης να ενσωματωθεί με ευκολία. Ένας προγραμματιστής μπορεί να γράψει ενέργειες που απαιτούνται στη σύμβαση, τους ισχυρισμούς, τις παραμέτρους και άλλα!

Δοκιμή βάσει σεναρίου: Η δοκιμή βάσει σεναρίων είναι επίσης δυνατή με το DAML. Επιτρέπει στον προγραμματιστή να δοκιμάσει την επιχειρηματική λογική και άλλες πτυχές των αποκεντρωμένων εφαρμογών σας, όπως ροές εργασίας.

Λειτουργίες χρόνου εκτέλεσης

Εκτός από τα παραπάνω τέσσερα βασικά χαρακτηριστικά, έχουμε επίσης το DAML Runtime. Ο χρόνος εκτέλεσης αναφέρεται στο περιβάλλον που δημιουργήθηκε από την εφαρμογή κατά την εκτέλεση. Σε αυτήν την κατάσταση που έχει βασικά χαρακτηριστικά που κάνουν το πρόγραμμα να λειτουργεί αποτελεσματικά και αποτελεσματικά. Με την εκμάθησή τους στο σεμινάριο DAML, θα μπορείτε να ενισχύσετε την εκμάθηση DAML.

Ας μιλήσουμε για αυτά παρακάτω.

Αφαίρεση αποθήκευσης → Η αφαίρεση αποθήκευσης προσφέρει ένα επίπεδο επιμονής που διασφαλίζει ότι όλα τα προγράμματα DAML είναι αποθηκευτικά-αγνωστικά. Με απλά λόγια, τα προγράμματα DAML δεν εξαρτώνται από τον επιλεγμένο χώρο αποθήκευσης, καθώς μπορεί να μετατρέψει τα εν λόγω δεδομένα σε εύπεπτη μορφή.

Έλεγχοι εξουσιοδότησης → Η εξουσιοδότηση ελέγχει όλες τις ενέργειες στο πλαίσιο μιας σύμβασης. Εάν η ενέργεια δεν περάσει την κατάλληλη εξουσιοδότηση, τότε δεν θα επιτρέπεται να εκτελεστεί.

Στη συνέχεια, το συμβόλαιο θα προκαλέσει σφάλμα χρόνου εκτέλεσης και θα ενημερώσει τον αγοραστή ή τον προγραμματιστή.

Παρακολούθηση λογοδοσίας → Ο χρόνος εκτέλεσης είναι επίσης υπεύθυνος για την παρακολούθηση της λογοδοσίας. Διασφαλίζει ότι τα μέρη συνάπτουν εθελοντικά τη συμφωνία. Για να συμβεί αυτό, απαιτήθηκαν υπογραφές υπογραφόντων. Αυτό γίνεται για την προστασία του αγοραστή από οποιαδήποτε βίαιη συμπεριφορά από τον διοργανωτή ή τον πωλητή. 

Ατομική Συνθεσιμότητα → Το DAML υποστηρίζει ατομικό σχεδιασμό. Αυτό σημαίνει ότι όλες οι ενέργειες εκτελούνται ατομικά και ως εκ τούτου μπορούν είτε να πραγματοποιηθούν είτε όχι καθόλου. Δεν υπάρχει μέσος δρόμος για την εκτέλεση συμβάσεων. Αυτό γίνεται για να διασφαλιστεί η ασφάλεια της ροής εργασίας και να κρατηθούν οι εκμεταλλευτές μακριά.

Χωρίς διπλές δαπάνες → Με το χρόνο εκτέλεσης DAML, τα συμβόλαια έχουν σχεδιαστεί για να διασφαλίζουν ότι δεν είναι δυνατή η διπλή δαπάνη. Αυτό σημαίνει ότι το ίδιο συμβόλαιο δεν μπορεί να εκτελεστεί δύο φορές. 

Απόρρητο που πρέπει να γνωρίζετε → Το DAML προσφέρει ένα επίπεδο υπο-συναλλαγής, το οποίο καθιστά τις πληροφορίες διαθέσιμες όταν εγκριθούν.

Ντετερμινιστική εκτέλεση → Τέλος, ο χρόνος εκτέλεσης υποστηρίζει ντετερμινιστική εκτέλεση. Αυτό σημαίνει ότι το αποτέλεσμα κάθε ενέργειας εξαρτάται από την τρέχουσα κατάσταση του καθολικού.

Ξεκινώντας με το DAML

Σε αυτήν την ενότητα του οδηγού DAML, θα εξετάσουμε τον αρχικό οδηγό για το σεμινάριο blockchain DAML. Για να μπορέσετε να χρησιμοποιήσετε το DAML, πρέπει να το εγκαταστήσετε.

Για να χρησιμοποιήσετε το DAML, πρέπει να ακολουθήσετε μια διαδικασία δύο βημάτων.

1) Εγκατάσταση εξαρτήσεων

Για να χρησιμοποιήσετε το DAML, πρέπει πρώτα να εγκαταστήσετε τις εξαρτήσεις. Για να το κάνετε αυτό, πρέπει να κάνετε λήψη του SDK και να το εγκαταστήσετε στο λειτουργικό σας σύστημα.

Εκτός από αυτό, θα ήταν καλύτερο αν είχατε επίσης τα ακόλουθα

  • Visual Studio Code ή οποιοδήποτε συμβατό περιβάλλον ανάπτυξης
  • JDK 8 ή μεγαλύτερη.

2) Εγκατάσταση SDK

Εάν χρησιμοποιείτε Windows, μπορείτε να μεταβείτε στο σύνδεσμο και κατεβάστε το εκτελέσιμο αρχείο.

Για Linux ή MAC, πρέπει να εκτελέσετε την ακόλουθη εντολή χρησιμοποιώντας curl.

μπούκλα –sSL https://get.daml.com/ | SH

Θα σας ζητήσει να προσθέσετε το ~ / .daml / bin στη μεταβλητή PATH. Μόλις τελειώσετε, είστε έτοιμοι να χρησιμοποιήσετε το DAML.

Οδηγός για αρχάριους DAML Tutorial

Δεν έχετε δουλέψει ποτέ με το DAML; Στη συνέχεια, μην ανησυχείτε, όπως σε αυτήν την ενότητα, θα εξετάσουμε τα βασικά στοιχεία του DAML, τους τύπους δεδομένων, τα πρότυπα, τις λειτουργίες, τις εκφράσεις και ούτω καθεξής!

Αλλά, πριν το κάνουμε, πρέπει να κατανοήσουμε το (Digital Asset) DA Ledger Model. Είναι ένα σημαντικό μέρος του προγράμματος εκμάθησης DAML.

Μοντέλο DA Ledger

Το DA Ledger Model βρίσκεται στον πυρήνα του DAML. Προσφέρει ροές εργασίας πολλών μερών με τη βοήθεια ενός εικονικού κοινόχρηστου καθολικού. Για να πάρετε μια καλύτερη ιδέα, μπορείτε να ελέγξετε το παρακάτω στιγμιότυπο οθόνης.

Πηγή: Τεκμηρίωση DAML

Το μοντέλο χρησιμοποιείται για τον ορισμό, τη δομή καθολικών DA (τι), το μοντέλο ακεραιότητας (ποιος μπορεί να ζητήσει) και το μοντέλο απορρήτου (ποιος μπορεί να δει).

Για να αποκτήσετε μια πιο εις βάθος κατανόηση του DA Ledger Model, ανατρέξτε στην επίσημη τεκμηρίωση εδώ.

Βασικές συμβάσεις

Στον πυρήνα του DAML, θα βρείτε ένα καθολικό DAML. Θα περάσουμε από ένα μικρό πρότυπο καθώς θα μας βοηθήσει να κατανοήσουμε βασικές έννοιες, όπως συναλλαγές, συμβόλαια προτύπων, υπογράφοντες, λειτουργικές μονάδες DAML και αρχεία.

Δεσμεύει

Το DAML Ledger περιέχει μια λίστα “δεσμεύσεων”. Με απλά λόγια, μια δέσμευση είναι μια υποβληθείσα συναλλαγή στο καθολικό. Από τη σύμβαση, μπορείτε να το θεωρήσετε ως μια ενεργή συναλλαγή που πρέπει να εκτελεστεί και η εκτέλεση εξαρτάται από τα χαρακτηριστικά και τους όρους της σύμβασης.

Ενότητες και αρχεία DAML

Πριν ξεκινήσετε, πρέπει να αναφέρετε την έκδοση DAML. Μπορεί να γίνει στην κορυφή του αρχείου DAML. Η έκδοση θα ειδοποιήσει τον μεταγλωττιστή ποια έκδοση της γλώσσας χρησιμοποιείται.

ντάμα 1.2

Για να εισαγάγετε τη λειτουργική μονάδα, πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί «ενότητα».

module Token πού

Σχόλια

Αν θέλετε να προσθέσετε σχόλια, μπορείτε να το κάνετε χρησιμοποιώντας τη λέξη-κλειδί “-“.

– Αυτό είναι ένα σχόλιο

Πρότυπα

Ένα πρότυπο χρησιμοποιείται για τον καθορισμό του τύπου της σύμβασης. Αυτό καθορίζει τις οντότητες που έχουν πρόσβαση στην εκτέλεση της σύμβασης. Μπορείτε να θεωρήσετε τις συμβάσεις ως παρουσίες προτύπων.

πρότυπο Κουπόνι

    με

        ιδιοκτήτης: Πάρτι

    που 

        υπογράφων ιδιοκτήτης

Όπως μπορείτε να δείτε, ορίσαμε ένα πρότυπο Token χρησιμοποιώντας τη λέξη-κλειδί “πρότυπο”. Χρειάζεται επίσης ένα επιχείρημα. Ένα ακόμη πράγμα που μπορείτε να προσέξετε είναι ότι είναι προσανατολισμένο στο κενό διάστημα. Εάν έχετε χρησιμοποιήσει το Python στο παρελθόν, θα καταλάβετε πώς είναι δομημένος και προορίζεται ο κώδικας.

Τέλος, μπορείτε να δείτε τη λέξη-κλειδί που έχει υπογράψει, η οποία σημαίνει ότι οι συμβάσεις υπογράφουν τις συμβάσεις. Η εξουσία αυτών των μερών απαιτείται να προβεί σε ενέργειες στη σύμβαση, συμπεριλαμβανομένης της αρχειοθέτησης και της δημιουργίας της. 

Κατανόηση των σεναρίων χρησιμοποιώντας πρότυπα

Τώρα που έχουμε κατανοήσει τη βασική δομή ενός προτύπου, τώρα θα κατανοήσουμε τα σενάρια χρησιμοποιώντας δύο άλλα πρότυπα στο μάθημα DAML. Αλλά, πριν το κάνουμε, ας καταλάβουμε τι είναι ακριβώς «σενάριο.

Σενάριο

Ένα σενάριο μπορεί να περιγραφεί καλύτερα ως μια δοκιμαστική συνταγή που μπορεί να χρησιμοποιηθεί για να ελέγξει αν τα πρότυπα συμπεριφέρονται όπως θα έπρεπε. Μπορεί να χρησιμοποιηθεί για την εκτέλεση δοκιμών συναλλαγών. Ας ρίξουμε μια ματιά στο παρακάτω παράδειγμα.

token_test_one = σενάριο

    ο Σαμ <- getParty “sam”

    υποβολή sam do

        δημιουργία Token with owner = sam

Τα παραπάνω είναι το βασικό σενάριο που ασχολείται με το Token για ένα πάρτι γνωστό ως “sam”.

Για να εκτελέσετε το σενάριο, πρέπει να χρησιμοποιήσετε το DAML studio. 

Για να μάθετε περισσότερα σχετικά με το σενάριο, σας προτείνουμε να δείτε το σελίδα τεκμηρίωσης σεναρίου εδώ.

Τύπος δεδομένων

Όπως κάθε γλώσσα προγραμματισμού, το DAML υποστηρίζει επίσης τύπους δεδομένων. Οι τύποι δεδομένων σάς επιτρέπουν να ορίσετε μια μεταβλητή και να αποθηκεύσετε δεδομένα εκεί.

Για να το κάνουμε πιο απλό, ας σκεφτούμε τα πρότυπα ως πίνακες βάσης δεδομένων. Τώρα, μπορείτε να αποθηκεύσετε δεδομένα στο πρότυπο και να τα διαχειριστείτε εύκολα μέσω του σχεδιασμού προτύπων.

Υπάρχουν πολλοί εγγενείς τύποι δεδομένων στους οποίους εισέρχεται το DAML. Περιλαμβάνει τα ακόλουθα.

  • Πάρτι → Για αποθήκευση ταυτότητας οντότητας. Τα μέρη μπορούν να υποβάλουν συναλλαγές και να υπογράψουν συμβόλαια.
  • Κείμενο → Αποθηκεύει χαρακτήρα Unicode
  • Int → αποθηκεύει 64-bit ακέραιους αριθμούς
  • Decime → αποθηκεύει αριθμούς σταθερού σημείου
  • Ημερομηνία → αποθηκεύει μια ημερομηνία
  • Ώρα → αποθηκεύει χρόνο σε UTC
  • RelTime → Αποθηκεύει τη διαφορά ώρας
  • ContractId → αναφορά στον τύπο της σύμβασης

Παρακάτω είναι ο κωδικός για την κατανόηση ορισμένων εγγενών τύπων.

native_test = σενάριο

  ο Σαμ <- getParty “Σαμ”

  Μυστήριο <- getParty “Μυστήριο”

  αφήνω

    my_int = –657

    my_dec = 0,001: Δεκαδικό

    my_text = “Σαμ”

    my_bool = Λάθος

 

  διεκδικούν (Sam / = Mysterio)

  επιβεβαιώνω (-my_int == 123)

  διεκδίκηση (1000.0 * my_dec == 1.0)

  διεκδίκηση (my_text == “Sam”)

Το DAML υποστηρίζει επίσης άλλους τύπους δεδομένων, όπως Tuples, Lists και Records. 

Για να μάθετε σχετικά με τους τύπους δεδομένων στο DAML, ανατρέξτε στη σελίδα τεκμηρίωσης εδώ.

Μετασχηματισμός δεδομένων χρησιμοποιώντας επιλογές

Το DAML υποστηρίζει το αμετάβλητο. Αυτό σημαίνει όποτε υπάρχει ανάγκη ενημέρωσης δεδομένων. πρέπει να δημιουργηθεί ένα νέο συμβόλαιο με τα νέα δεδομένα. Ωστόσο, αυτό δεν συμβαίνει πάντα, καθώς υπάρχει πάντα κάτι πολύ μικρό για αλλαγή και τροποποίηση. Για παράδειγμα, μια εταιρεία μπορεί να θέλει να αλλάξει τον αριθμό τηλεφώνου της για να το κάνει χρησιμοποιώντας επιλογές.

Ας ρίξουμε μια ματιά σε ένα παράδειγμα που λαμβάνεται στην τεκμηρίωση DAML.

πρότυπο Επικοινωνία

  με

    ιδιοκτήτης: Πάρτι

    Παρτι παρτι

    διεύθυνση: Κείμενο

    τηλέφωνο: Κείμενο

  που

    υπογράφων ιδιοκτήτης

 

    ο κάτοχος του ελεγκτή μπορεί

      Ενημέρωση τηλεφώνου

        : ContactId Επικοινωνία

        με

          newTelephone: Κείμενο

        κάνω

          δημιουργήστε το με

            τηλέφωνο = νέοΤηλέφωνο

Το μεγαλύτερο μέρος του κώδικα είναι αυτονόητο παραπάνω. Το μόνο πράγμα που πρέπει να γνωρίζετε είναι ότι ορίσαμε μια επιλογή γνωστή ως “UpdateTelephone”.

Οι επιλογές μπορούν επίσης να χρησιμοποιηθούν ως αντιπροσωπεία. Τέλος, μπορούν επίσης να ενσωματωθούν στο Ledger Model. 

Για να μάθετε περισσότερα σχετικά με τις επιλογές DAML, μπορείτε να δείτε την επίσημη σελίδα τεκμηρίωσης εδώ.

Προσθήκη περιορισμών σε μια σύμβαση

Μπορείτε επίσης να προσθέσετε περιορισμούς στη σύμβαση DAML χρησιμοποιώντας τη λέξη-κλειδί “εξασφάλιση”. Μπορείτε επίσης να χρησιμοποιήσετε τον άλλο μηχανισμό που χρησιμοποιεί λέξη-κλειδί επιβεβαίωσης, ματαίωσης και σφάλματος για να προσθέσετε περιορισμούς στη σύμβαση.

Όμως, προτού το κάνετε, πρέπει να ορίσετε τις κατάλληλες προϋποθέσεις προτύπου στο συμβόλαιό σας. 

Για να μάθετε περισσότερα σχετικά με τους περιορισμούς και τους περιορισμούς, μπορείτε να ελέγξετε την τεκμηρίωση εδώ.

Μέρη και αρχή

Το DAML έχει έναν κατάλληλο τρόπο για να χειριστεί τα μέρη και να τους εξουσιοδοτήσει να έχουν πρόσβαση σε μια σύμβαση. Μπορείτε να τα χρησιμοποιήσετε όχι μόνο για να περάσετε την εξουσία, αλλά και να γράψετε σύνθετες επιλογές που μπορούν να αλλάξουν τον τρόπο λειτουργίας του καθολικού. Αυτή η ευελιξία είναι σημαντική καθώς δίνει στα μέρη αρκετά εργαλεία για να αλλάξουν τα πράγματα και διατηρούν ανέπαφη την κεντρική ιδέα της σύμβασης. 

Για παράδειγμα, μπορείτε να αποτρέψετε την ανάκληση IOU ή καλύτερα να κάνετε μια εφάπαξ εξουσιοδότηση χρησιμοποιώντας ροές εργασίας πρότασης-αποδοχής. Υπάρχουν πολλές επιλογές που γίνονται στο DAML για την παροχή λύσης για σχεδόν κάθε σενάριο εκεί έξω.

Διαβάστε περισσότερα για τα μέρη και τις αρχές εδώ.

συμπέρασμα

Αυτό μας οδηγεί στο τέλος του οδηγού DAML. Σε αυτό το σεμινάριο, καταφέραμε να μάθουμε για το DAML και τι το καθιστά ξεχωριστό. Μάθαμε επίσης για τις εσωτερικές λειτουργίες του DAML και άλλες βασικές πτυχές της γλώσσας προγραμματισμού, όπως τύπους δεδομένων, σενάρια και ούτω καθεξής. Αυτές οι βασικές έννοιες θα σας βοηθήσουν να εμπλακείτε με τα έργα DAML που πρόκειται να αναλάβετε στο μέλλον.

Λοιπόν, τι πιστεύετε για το DAML; Πιστεύετε ότι έχει τη δυνατότητα να γίνει πανταχού παρούσα γλώσσα προγραμματισμού για τη δημιουργία αποκεντρωμένων εφαρμογών; Σχολιάστε παρακάτω και ενημερώστε μας.

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