Το Ultimate Corda Tutorial 2021

Επιθυμείτε να γίνετε ειδικός της Corda; Το ακόλουθο σεμινάριο corda θα καλύψει όλα όσα πρέπει να γνωρίζετε σχετικά με την ανάπτυξη μιας εφαρμογής Corda.

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

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

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


Ας ξεκινήσουμε με τον οδηγό blockchain Corda τώρα!

Ερχομαι συντομα: Οδηγός για αρχάριους στο μάθημα ανάπτυξης Corda

Πώς δομείται το πρόγραμμα εκμάθησης ανάπτυξης Corda?

Θα καλύψουμε λεπτομερώς το Corda. Στις περισσότερες από τις ενότητες, θα προσπαθήσουμε να καλύψουμε τις σημαντικές έννοιες του Corda.

Οι βασικές έννοιες που θα καλύψουμε περιλαμβάνουν τα ακόλουθα.

  • κατάσταση
  • Σύμβαση
  • Τμήματα ροής

Το σεμινάριό μας θα δημιουργήσει μια εφαρμογή IOU. IOU σημαίνει “I Owe yoU”. Αυτή είναι μια απλή παρουσίαση του γεγονότος ότι ένα άτομο διαθέτει χρήματα από άλλο άτομο. Θα καλύψουμε την ιδέα πιο αναλυτικά αργότερα.

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

Εργαλεία

Πριν ξεκινήσουμε με το σεμινάριο Corda για αρχάριους, θα χρειαζόμαστε τα ακόλουθα εργαλεία. Υπάρχουν επίσης εργαλεία blockchain που ο προγραμματιστής λατρεύει να χρησιμοποιεί συχνά. Ωστόσο, δεν πρόκειται να τα καλύψουμε σήμερα.

  • Κότλιν
  • Γκρέιντ
  • Γκιτ
  • IntelliJ
  • Γραμμή εντολών

Όσον αφορά το ολοκληρωμένο περιβάλλον ανάπτυξης, θα χρησιμοποιήσουμε το IntelliJ. Θα απλοποιήσει την ανάπτυξή μας.

Εκμάθηση Corda

Σεμινάριο Corda

Τι είναι το Corda?

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

Τα έξυπνα συμβόλαια που χρησιμοποιούνται στο Corda μπορούν να γραφτούν χρησιμοποιώντας γλώσσες JVM ή Java. Τα dApps στην πλατφόρμα Corda είναι γνωστά ως CorDapps. Επίσης, προσφέρουν δίκτυο κόμβων peer-to-peer με δυνατότητα χρήσης υποδομής συμβολαιογράφου. Η υποδομή χρησιμοποιείται για την επικύρωση και την αλληλουχία συναλλαγών χωρίς να χρειάζεται να μεταδίδονται τα στοιχεία της συναλλαγής σε κάθε ομότιμο του δικτύου.

Ένα άλλο σημαντικό στοιχείο που χρησιμοποιείται από το blockchain περιλαμβάνει το πλαίσιο Flow, το οποίο διαχειρίζεται τις διαπραγματεύσεις και την επικοινωνία μεταξύ των συμμετεχόντων.

Κατανόηση του καθολικού Corda

Το Corda Ledger δεν είναι παρόμοιο με το σύστημα καθολικών που χρησιμοποιείται από παραδοσιακές τεχνολογίες blockchain. Γι ‘αυτό πρέπει να έχουμε μια σαφή αντίληψη για το πώς λειτουργεί και να το κατανοήσουμε τόσο από τη λειτουργική του άποψη όσο και από την οπτική γωνία.

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

Ανακάλυψη κόμβων

Λοιπόν, πώς οι κόμβοι ανακαλύπτουν ο ένας τον άλλον; Χρησιμοποιούν έναν χάρτη δικτύου για να βρουν ο ένας τον άλλον. Μπορείτε να το σκεφτείτε, παρόμοιο με έναν τηλεφωνικό κατάλογο. Ο χάρτης δικτύου περιέχει τα μεταδεδομένα για τον εντοπισμό καθεμιάς από αυτές τις υπηρεσίες και ως εκ τούτου παρέχει έναν ωραίο τρόπο για την ανακάλυψη χάρτη.

Πώς λειτουργεί?

Η μεγαλύτερη πρόκληση σε ένα παγκόσμιο δίκτυο blockchain εκπομπών είναι η συναίνεση. Λοιπόν, πώς οι κόμβοι γνωρίζουν ο ένας τον άλλον και επαληθεύουν αυτές τις πληροφορίες?

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

Κράτη

Τα κράτη στο blockchain Corda είναι αμετάβλητα. Χρησιμοποιούνται για την αποθήκευση κοινών στοιχείων σχετικά με μια συναλλαγή, συμφωνία ή σύμβαση σε μια συγκεκριμένη χρονική στιγμή.

Ακούγεται τεχνικό; Ας προσπαθήσουμε να το αναλύσουμε με απλούστερες λέξεις.

Κοινόχρηστα γεγονότα

Ας πάρουμε δύο άτομα χρησιμοποιώντας το καθολικό Corda. Ας τα ονομάσουμε Alpha και Bravo.

Και οι δύο έχουν κοινό γεγονός. Το κοινό γεγονός είναι ένα IOU (I Own You). Το IOU χρησιμοποιείται όταν ο δανειστής έχει χρήματα λόγω του παρόχου δανείου. Για να κοινοποιηθεί το γεγονός, και οι δύο έχουν τις ίδιες κοινές πληροφορίες που εκπροσωπούνται στο IOU.

Αντιπροσωπεύστε οτιδήποτε

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

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

Αμετάβλητο και εξελισσόμενο

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

Αυτό σημαίνει ότι μπορεί να δημιουργηθεί μια νέα κατάσταση εκτός από την αρχική κατάσταση. Γίνεται όταν υπάρχει μια νέα αλλαγή στην κατάσταση που πρέπει να αποθηκευτεί. Το παλιό κράτος ονομάζεται τότε ιστορικό.

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

  1. Δημιουργείται μια πρώτη κατάσταση για να δείξει ότι η Alpha είναι υπόχρεη στον Μπράβο. Αυτό το κράτος μοιράζεται επίσης περισσότερες πληροφορίες σχετικά με το IoU, συμπεριλαμβανομένης της ημερομηνίας, της ώρας, του επιτοκίου, του ποσού που δανείστηκε και άλλων χρήσιμων πληροφοριών που απαιτούνται για το IoU.
  2. Τώρα, όταν η Alpha επιλύει το χρέος, δημιουργείται μια νέα κατάσταση που ενημερώνει τις νέες πληροφορίες. Η παλιά κατάσταση δεν αγγίζεται με κανέναν τρόπο, καθώς είναι αμετάβλητη.
  3. Η νέα κατάσταση ενημερώνεται τώρα στα κοινόχρηστα γεγονότα μεταξύ των δύο χρηστών.
  4. Τώρα, το παλιό κράτος ονομάζεται ιστορικό. Μπορεί να υπάρχουν πολλές ιστορικές καταστάσεις σε μία μόνο συναλλαγή. Αυτό μπορεί να οδηγήσει στη δημιουργία μιας ακολουθίας καταστάσεων.
  5. Δημιουργείται μια κεφαλή ακολουθίας, η οποία αναφέρεται στην τελευταία κατάσταση. Επίσης, οι τελευταίες πολιτείες χαρακτηρίζονται επίσης ως μη καταναλώσιμες.

Διαβάστε περισσότερα:Οδηγός σύγκρισης Hyperledger vs Corda vs Ethereum

Προετοιμασία του Περιβάλλοντος Ανάπτυξης

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

  • Oracle JDK 8 JVM – v8u171 ή νεότερη έκδοση.
  • Γκιτ
  • IntelliJ IDEA

Αποθήκη κλωνοποίησης Git

Ο καλύτερος τρόπος για να ξεκινήσετε το ταξίδι μας είναι να εκτελέσετε ένα παράδειγμα CorDapp στο αναπτυξιακό μας περιβάλλον. Τα καλά νέα είναι ότι το Corda προσφέρει ένα παράδειγμα CorDapp που μπορείτε να κατεβάσετε και να εκτελέσετε τοπικά.

Μπορείτε να κλωνοποιήσετε το αποθετήριο τοπικά χρησιμοποιώντας την εντολή git clone όπως παρακάτω.

git κλώνος http://github.com/roger3cev/corda-training-template.git

Για το σεμινάριο, πρόκειται να χρησιμοποιήσουμε το IntelliJ για την εισαγωγή του αποθετηρίου git. Ανοίξτε το IntelliJ. Μόλις τελειώσετε, θα δείτε την επιλογή να δείτε από το Version Control. Κάντε κλικ σε αυτό και, στη συνέχεια, κλωνοποιήστε το αποθετήριο στον υπολογιστή σας.

intelliJ

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

δομή του έργου

Κάτω δεξιά, θα βρείτε μια ειδοποίηση που αναφέρει ότι εισάγετε το Gradle Project όπως παρακάτω. Είναι σημαντικό για το Corda Tutorial να λειτουργεί.

Κάντε κλικ στο “Import Gradle Project”.

εισαγωγή έργου gradle

Πρέπει επίσης να ρυθμίσετε το Project SDK. Μεταβείτε στις ρυθμίσεις του έργου και, στη συνέχεια, επιλέξτε την τελευταία έκδοση του Java. Στην περίπτωσή μου, ορίστηκε σε Java 11.0.5.

Εάν εντοπίσετε κάποιο σφάλμα για εκτέλεση, τότε θα πρέπει να αναβαθμίσετε το Gradle και να το αφήσετε να εισαγάγει τα απαραίτητα αποθετήρια για να λειτουργήσει. Θα χρειαστεί λίγος χρόνος για να γίνει αυτό. Λοιπόν, πάρτε ένα πίσω κάθισμα και περιμένετε να ολοκληρωθεί.

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

Ας δούμε γρήγορα τη δομή του προγράμματος εκμάθησης Corda. Το κύριο αποθετήριο μας είναι το αρχείο src. Καθώς χρησιμοποιούμε το Kotlin, θα χρησιμοποιούμε το φάκελο προέλευσης Kotlin. θα βρείτε τον φάκελο src κάτω από αυτόν. Μην το συγχέετε με το φάκελο java-source.

Corda tutorial kotlin πηγή

Εδώ, θα βρείτε όλα τα απαραίτητα αρχεία στον φάκελο εκπαίδευσης. Υπάρχει επίσης ένας φάκελος “test” που περιέχει τις μονάδες δοκιμής για την εφαρμογή.

Ένα άλλο σημαντικό αρχείο για το οποίο πρέπει να γνωρίζουμε είναι το IOUState.kt. Βρίσκεται μέσα στην εκπαίδευση > κατάσταση.

Λειτουργία δοκιμών μονάδων κράτους

Η τάξη IOUState φαίνεται πολύ βασική. Δεν έχει ολοκληρωθεί ακόμη. Θα χρησιμοποιήσουμε μια δοκιμαστική μεθοδολογία ανάπτυξης για να αναπτύξουμε την τάξη και να την προετοιμάσουμε να δουλέψει.

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

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

Για να ξεκινήσετε, πρέπει να πάμε στις Δοκιμές > Κότλιν> καθαρά > Κόρντα > εκπαίδευση > κατάσταση > Δοκιμές IOUState

Δοκιμές IOUS

Εκεί θα βρείτε ήδη γραπτές δοκιμές. Έρχεται επίσης με τόνους τεκμηρίωσης. Η ομάδα του R3 Corda αφιέρωσε χρόνο για να δημιουργήσει το πρότυπο.

Πρέπει να αποσυνδέσετε την ενότητα, όπως φαίνεται παρακάτω, για να πραγματοποιήσετε ένα μόνο τεστ για να εκτελεστεί.

κωδικός αποστολής

Επιλέξτε τον κωδικό και πατήστε Ctrl + / για να αποσυνδέσετε. Εάν χρησιμοποιείτε MAC, χρησιμοποιήστε το CMD + / για να αποσυνδέσετε.

Τώρα, ήρθε η ώρα να εκτελέσουμε το τεστ μονάδας.

Καθώς η τάξη IOUState είναι σχεδόν κενή, οι δοκιμές θα αποτύχουν και θα λάβετε το ακόλουθο σφάλμα δοκιμής.

αποτυχημένες δοκιμές

Όπως μπορείτε να δείτε, λέει ότι το τεστ Kotlin-source: απέτυχε λόγω του NoSuchFieldException. Αυτό σημαίνει ότι η δοκιμή αναμένει τη μεταβλητή ποσού όπου δεν βρήκε καμία.

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

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

δομή του έργου

  • κατηγορία δεδομένων IOUState → Αυτή η λέξη-κλειδί σημαίνει ότι ορίζουμε μια κατηγορία δεδομένων με το όνομα “IOUState”.
  • val data → δήλωση μεταβλητής. Το όνομα του πεδίου είναι δεδομένα
  • String = “data” → αυτό καθορίζει την προεπιλεγμένη τιμή της μεταβλητής δεδομένων εάν δεν έχει οριστεί τίποτα.
  • ContractState → Διεπαφή

Εάν κάνατε όλες τις αλλαγές στο αρχείο IOUState.kt σύμφωνα με τη δοκιμή, η κλάση IOUState θα φαίνεται όπως παρακάτω.

κατηγορία δεδομένων IOUState (βαλ ποσό: Ποσό,

βαλ δανειστής: Κόμμα,

βαλ δανειολήπτης: Κόμμα,

βαλ καταβληθείσα: Ποσό = Ποσό (0, number.token),

παράκαμψη val linearId: UniqueIdentifier = UniqueIdentifier ()): LinearState {

/ **

* Αυτή η ιδιότητα περιέχει μια λίστα με τους κόμβους που μπορούν να «χρησιμοποιήσουν» αυτήν την κατάσταση σε μια έγκυρη συναλλαγή. Σε αυτήν την περίπτωση, το

* δανειστής ή ο δανειολήπτης.

* /

παράκαμψη val συμμετέχοντες: Λίστα παίρνω() = listOf (δανειστής, δανειολήπτης)

/ **

* Βοηθητικές μέθοδοι για την κατασκευή συναλλαγών για διακανονισμό και μεταφορά IOUs.

* – [πληρωμή] προσθέτει ένα ποσό στην καταβληθείσα ιδιοκτησία. Δεν επικυρώνει.

* – [withNewLender] δημιουργεί ένα αντίγραφο της τρέχουσας κατάστασης με έναν πρόσφατα καθορισμένο δανειστή. Για χρήση κατά τη μεταφορά.

* /

διασκεδαστικο πληρωμή (ποσόToPay: Ποσό) = αντίγραφο (επί πληρωμή = dibayar.plus (ποσόToPay))

διασκεδαστικο withNewLender (newLender: Party) = αντίγραφο (δανειστής = newLender)

}

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

Θέλετε να γίνετε ειδικός της Corda; Ακολουθεί ένας οδηγός για την πιστοποίηση R3 Corda που θα σας καθοδηγήσει στη διαδικασία πιστοποίησης.

Επαφές Corda

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

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

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

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

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

Για να το καταλάβουμε, ας ρίξουμε μια ματιά στην παρακάτω εικόνα.

Κράτος σύμβασης

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

Νομική πεζογραφία: Το Legal Prose χρησιμοποιείται ως αναφορά στη νομική σύμβαση για τη συμφωνία. Χρησιμοποιείται για να διασφαλίσει ότι το υφιστάμενο νομικό πλαίσιο και το δικαστικό σύστημα μπορούν να χρησιμοποιηθούν σε περίπτωση διαφοράς.

Άλλα βασικά χαρακτηριστικά των συμβολαίων Corda περιλαμβάνουν τα ακόλουθα

  • Πολλαπλές συμβάσεις μπορούν να αναφέρουν μια σύμβαση. Επίσης, ένα συμβόλαιο μπορεί να περιέχει πολλούς τύπους πολιτείας
  • Η Corda χρησιμοποιεί μια λειτουργία επαλήθευσης για να επαληθεύσει μια προτεινόμενη συναλλαγή
  • Η υπογραφή της μεθόδου επαλήθευσης είναι όπως παρακάτω
  • διασκεδαστική επαλήθευση (tx: Συναλλαγή): Μονάδα
  • Η μέθοδος επαλήθευσης επαληθεύει τη συναλλαγή εκτελώντας όλους τους περιορισμούς. Εάν ο περιορισμός αποτύχει, τότε θα εξαχθεί μια εξαίρεση. Διαφορετικά, η συναλλαγή θα θεωρείται έγκυρη.
  • Η συνάρτηση επαλήθευσης είναι ντετερμινιστική.

Τα πρότυπα blockchain περιέχουν επίσης τον κωδικό για τις συμβάσεις Corda. Θα πρέπει επίσης να προσεγγίσετε τις συμβάσεις Corda παρόμοιες με τις πολιτείες. Θα βοηθούσε εάν πήγατε στις μονάδες δοκιμής Corda και έπειτα προσθέσατε τον απαιτούμενο κωδικό στην Κατηγορία Συμβάσεων.

Συναλλαγές Corda

Η επόμενη στάση μας είναι οι συναλλαγές Corda. Είναι οι συναλλαγές που καθιστούν δυνατή τις πολιτειακές αλλαγές.

Λοιπόν, τι είναι μια συναλλαγή; Μπορεί να οριστεί καλύτερα ως κοντέινερ που περιέχει αναφορές κατάστασης εισόδου (0 ή περισσότερες). Παράγουν επίσης καταστάσεις (0 ή περισσότερα).

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

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

  • Ασφάλειες → Δημιουργεί νέες πολιτείες
  • Ενημερώσεις → Αλλαγή ιδιοτήτων κατάστασης
  • Έξοδοι → Κατάργηση καταστάσεων από το καθολικό

Corda Flows

Το Corda Flows είναι τα βήματα που απαιτούνται για τους συναδέλφους να πραγματοποιήσουν (να εκτελέσουν) μια επιτυχημένη συναλλαγή.

Η ροή καθορίζει την επιχειρηματική λογική του CorDapp. Είναι υπεύθυνο να διασφαλίζει ότι οι συναλλαγές εκτελούνται με τη σωστή σειρά και σωστές παραμέτρους. Δεδομένου ότι οι συναλλαγές είναι περίπλοκης φύσης, απαιτούνται ροές για να διασφαλιστεί ότι όλα λειτουργούν όπως προορίζεται.

Ο έλεγχος ροής εξασφαλίζει πότε πρέπει να επικοινωνείτε, τι να επικοινωνείτε και με ποιον να επικοινωνείτε.

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

Βασικά πράγματα που πρέπει να γνωρίζετε για τις ροές

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

Θέλετε να το αποκτήσετε και να γίνετε ειδικός; Ακολουθεί ένας οδηγός για το πώς να δημιουργήσετε ένα blockchain στο Python.

Ομοφωνία

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

Πρώτα απ ‘όλα, το Corda χρησιμοποιεί δύο αλγόριθμους συναίνεσης. Περιλαμβάνει τα ακόλουθα

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

Βασικά πράγματα που πρέπει να κάνετε σχετικά με τη συναίνεση της Corda:

  • Η μοναδική συναίνεση διασφαλίζει ότι οι ενημερώσεις των καθολικών είναι πάντα μοναδικές. Επίσης, διασφαλίζει ότι το καθολικό είναι έγκυρο κατά την πραγματοποίηση της ενημέρωσης.
  • Η συναίνεση επαλήθευσης διασφαλίζει ότι η ενημέρωση είναι έγκυρη.

Κόμβος Κόρδα

Η τελευταία ενότητα του Corda που θα συζητήσουμε εδώ είναι ο Κόμβος Corda. Το Corda Node είναι μια προβολή υψηλού επιπέδου του Corda.

Λοιπόν, τι ακριβώς είναι ο κόμβος Corda?

Ένας κόμβος Corda είναι μια οντότητα που εκτελείται στην εικονική μηχανή Java. Περιλαμβάνει τα ακόλουθα

  • Προσφέρει υπηρεσίες αποθήκευσης και θησαυροφυλάκια
  • Το SQL DB υποστηρίζει τα θησαυροφυλάκια και τις υπηρεσίες αποθήκευσης
  • Οι αποκλειστικοί φάκελοι χρησιμοποιούνται για την αποθήκευση συνημμένων
  • Προσφέρει προσαρμοσμένη λειτουργικότητα και ενσωματωμένες επεκτάσεις γνωστές ως CorDapps
  • Προσφέρει πλαίσιο πελάτη RPC

Έτσι μοιάζει ο κόμβος Corda.

Κόμβος Corda

Όπως μπορείτε να δείτε, περιέχει όλες τις απαραίτητες πτυχές για τη λειτουργία του δικτύου Corda. Αλληλεπιδρούν με τη ροή και παρέχουν προσαρμοσμένη λειτουργικότητα CorDapp.

συμπέρασμα

Αυτό μας οδηγεί στο τέλος του προγράμματος εκμάθησης Corda. Εδώ, κοιτάξαμε το Corda και προσπαθήσαμε να δούμε ένα IoU CorDapp. Συζητήσαμε τις διάφορες ενότητες του χρησιμοποιώντας την εκπαίδευση προτύπων που διατίθεται στο αποθετήριο Corda GitHub.

Στόχος μας είναι να ξεκινήσουμε με την Corda χωρίς να προσπαθήσουμε να εξηγήσουμε όλα όσα προσφέρει η Corda. Για αυτό, μπορείτε πάντα να χρησιμοποιήσετε την τεκμηρίωση του Corda. Έχουμε επίσης ένα επερχόμενο μάθημα για το πρόγραμμα εκμάθησης της Corda. Πρέπει σίγουρα να το ελέγξετε αν θέλετε να έχετε έναν πλήρη οδηγό ανάπτυξης.

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