ProHoster > Blog > διαχείριση > Πώς να γράψετε ένα έξυπνο συμβόλαιο στην Python στο δίκτυο Ontology. Μέρος 2: API αποθήκευσης
Πώς να γράψετε ένα έξυπνο συμβόλαιο στην Python στο δίκτυο Ontology. Μέρος 2: API αποθήκευσης
Αυτό είναι το δεύτερο μέρος μιας σειράς εκπαιδευτικών άρθρων σχετικά με τη δημιουργία έξυπνων συμβολαίων στην Python στο δίκτυο blockchain Ontology. Στο προηγούμενο άρθρο γνωρίσαμε Blockchain & Block API Έξυπνο συμβόλαιο οντολογίας.
Σήμερα θα συζητήσουμε πώς να χρησιμοποιήσετε τη δεύτερη ενότητα— API αποθήκευσης. Το Storage API έχει πέντε σχετικά API που επιτρέπουν την προσθήκη, τη διαγραφή και τις αλλαγές στη μόνιμη αποθήκευση σε έξυπνες συμβάσεις στο blockchain.
Παρακάτω είναι μια σύντομη περιγραφή αυτών των πέντε API:
Ας ρίξουμε μια πιο προσεκτική ματιά στον τρόπο χρήσης αυτών των πέντε API.
GetContext и GetReadOnlyContext λάβετε το πλαίσιο στο οποίο εκτελείται το τρέχον έξυπνο συμβόλαιο. Η τιμή επιστροφής είναι το αντίστροφο του τρέχοντος κατακερματισμού έξυπνων συμβολαίων. Όπως υποδηλώνει το όνομα, GetReadOnlyContext παίρνει το πλαίσιο μόνο για ανάγνωση. Στο παρακάτω παράδειγμα, η τιμή επιστροφής είναι το αντίστροφο του κατακερματισμού συμβολαίου που εμφανίζεται στην επάνω δεξιά γωνία.
Βάζω
Λειτουργία Βάζω είναι υπεύθυνος για την αποθήκευση δεδομένων στο blockchain με τη μορφή λεξικού. Οπως φαίνεται, Βάζω παίρνει τρεις παραμέτρους. GetContext παίρνει το πλαίσιο του τρέχοντος έξυπνου συμβολαίου, το κλειδί είναι η τιμή του κλειδιού που απαιτείται για την αποθήκευση των δεδομένων και η τιμή είναι η τιμή των δεδομένων που πρέπει να αποθηκευτούν. Σημειώστε ότι εάν η τιμή του κλειδιού βρίσκεται ήδη στο χώρο αποθήκευσης, η συνάρτηση θα ενημερώσει την αντίστοιχη τιμή της.
Λειτουργία ΕΠΙΚΟΙΝΩΝΗΣΤΕ είναι υπεύθυνος για την ανάγνωση των δεδομένων στην τρέχουσα αλυσίδα μπλοκ μέσω της τιμής κλειδιού. Στο παρακάτω παράδειγμα, μπορείτε να συμπληρώσετε την τιμή κλειδιού στον πίνακα επιλογών στα δεξιά για να εκτελέσετε τη συνάρτηση και να διαβάσετε τα δεδομένα που αντιστοιχούν στην τιμή κλειδιού στο blockchain.
Διαγραφή
Λειτουργία Διαγραφή είναι υπεύθυνος για τη διαγραφή δεδομένων στο blockchain μέσω της τιμής κλειδιού. Στο παρακάτω παράδειγμα, μπορείτε να συμπληρώσετε την τιμή κλειδιού για τη συνάρτηση στον πίνακα επιλογών στα δεξιά και να διαγράψετε τα δεδομένα που αντιστοιχούν στην τιμή κλειδιού στο blockchain.
2. Παράδειγμα κώδικα API αποθήκευσης
Ο παρακάτω κώδικας δίνει ένα λεπτομερές παράδειγμα χρήσης πέντε API: GetContext, Get, Put, Delete και GetReadOnlyContext. Μπορείτε να δοκιμάσετε να εκτελέσετε τα δεδομένα API SmartX.
from ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
from ontology.interop.System.Runtime import Notify
def Main(operation,args):
if operation == 'get_sc':
return get_sc()
if operation == 'get_read_only_sc':
return get_read_only_sc()
if operation == 'get_data':
key=args[0]
return get_data(key)
if operation == 'save_data':
key=args[0]
value=args[1]
return save_data(key, value)
if operation == 'delete_data':
key=args[0]
return delete_data(key)
return False
def get_sc():
return GetContext()
def get_read_only_sc():
return GetReadOnlyContext()
def get_data(key):
sc=GetContext()
data=Get(sc,key)
return data
def save_data(key, value):
sc=GetContext()
Put(sc,key,value)
def delete_data(key):
sc=GetContext()
Delete(sc,key)
Επίλογος
Η αποθήκευση Blockchain είναι ο πυρήνας ολόκληρου του συστήματος blockchain. Το Ontology Storage API είναι εύκολο στη χρήση και φιλικό προς τους προγραμματιστές.
Από την άλλη πλευρά, η αποθήκευση είναι το επίκεντρο επιθέσεων χάκερ, όπως η απειλή ασφαλείας που αναφέραμε σε ένα από τα προηγούμενα άρθρα— επίθεση έγχυσης αποθήκευσηςΟι προγραμματιστές πρέπει να δίνουν ιδιαίτερη προσοχή στην ασφάλεια όταν γράφουν κώδικα που σχετίζεται με την αποθήκευση. Μπορείτε να βρείτε τον πλήρη οδηγό στο δικό μας GitHub εδώ.
Στο επόμενο άρθρο θα συζητήσουμε πώς να το χρησιμοποιήσετε Runtime API.
Το άρθρο μεταφράστηκε από τους συντάκτες του Hashrate&Shares ειδικά για την OntologyRussia. κραυγή
Είστε προγραμματιστής; Γίνετε μέλος της τεχνολογικής μας κοινότητας στο Διχόνοια. Επίσης, ρίξτε μια ματιά στο Κέντρο προγραμματιστών Οντολογία, μπορείτε να βρείτε περισσότερα εργαλεία, τεκμηρίωση και πολλά άλλα εκεί.