Το Solidity έχει διανύσει πολύ δρόμο από τότε που προτάθηκε για πρώτη φορά το 2014 και αργότερα αναπτύχθηκε από την ομάδα Solarity της Ethereum. Υπάρχουν εκατοντάδες χιλιάδες προγραμματιστές που χρησιμοποιούν τη γλώσσα προγραμματισμού για τη δημιουργία υπηρεσιών που βασίζονται σε blockchain για έναν αυξανόμενο αριθμό περιπτώσεων χρήσης.
Αυτό το άρθρο εξηγεί τι είναι η Στερεότητα και πώς χρησιμοποιείται στο οικοσύστημα Ethereum. Αυτό το άρθρο είναι για εσάς εάν ενδιαφέρεστε να μάθετε περισσότερα σχετικά με τις εσωτερικές λειτουργίες αυτής της γλώσσας προγραμματισμού που βασίζεται σε blockchain.
Τι είναι η Στερεότητα;
Το Solidity είναι μια αντικειμενοστρεφής γλώσσα προγραμματισμού υψηλού επιπέδου που χρησιμοποιείται για τη δημιουργία έξυπνων συμβάσεων που αυτοματοποιούν τις συναλλαγές στο blockchain. Αφού προτάθηκε το 2014, η γλώσσα αναπτύχθηκε από συνεισφέροντες στο έργο Ethereum. Η γλώσσα χρησιμοποιείται κυρίως για τη δημιουργία έξυπνων συμβολαίων το blockchain Ethereum και δημιουργήστε έξυπνα συμβόλαια σε άλλα blockchain.
Η σταθερότητα είναι παρόμοια με μία από τις πιο κοινές γλώσσες προγραμματισμού, τη JavaScript. Μπορεί να θεωρηθεί ως διάλεκτος του JavaScript. Αυτό σημαίνει ότι αν καταλαβαίνετε το JavaScript, μπορεί να είναι εύκολο να διαλέξετε το Solidity. Η σταθερότητα μοιράζεται επίσης παρόμοια χαρακτηριστικά με τις γλώσσες προγραμματισμού C ++ και Python.
Ως γλώσσα υψηλού επιπέδου, το Solidity καταργεί την ανάγκη πληκτρολόγησης κώδικα σε αυτά και μηδενικά. Καθιστά πολύ πιο εύκολο για τους ανθρώπους να γράφουν προγράμματα με τρόπους που βρίσκουν πιο εύκολο να κατανοήσουν, χρησιμοποιώντας έναν συνδυασμό γραμμάτων και αριθμών.
Η σταθερότητα είναι στατικά δακτυλογραφημένη, με υποστήριξη για κληρονομιά, βιβλιοθήκες και σύνθετους τύπους που καθορίζονται από το χρήστη. Καθώς η Σταθερότητα είναι τυποποιημένη, ο χρήστης καθορίζει πολύ κάθε μεταβλητή. Οι τύποι δεδομένων επιτρέπουν στον μεταγλωττιστή να ελέγξει για τη σωστή χρήση των μεταβλητών. Οι τύποι δεδομένων στερεότητας κατηγοριοποιούνται συνήθως είτε ως τύποι τιμών είτε ως τύποι αναφοράς.
Η κύρια διαφορά μεταξύ των τύπων τιμής και των τύπων αναφοράς μπορεί να βρεθεί στον τρόπο με τον οποίο εκχωρούνται σε μια μεταβλητή και αποθηκεύονται στο EVM (Ethereum Virtual Machine). Ενώ η αλλαγή της τιμής σε μία μεταβλητή ενός τύπου τιμής δεν επηρεάζει την τιμή σε μια άλλη μεταβλητή, οποιοσδήποτε αναφέρεται σε τροποποιημένες τιμές σε μεταβλητές τύπου αναφοράς μπορεί να λάβει ενημερωμένες τιμές.
Πώς λειτουργεί η Στερεότητα;
Η ομορφιά του οικοσυστήματος Ethereum είναι ότι μπορούν να το χρησιμοποιούν τόσα πολλά διαφορετικά κρυπτονομίσματα και αποκεντρωμένες εφαρμογές. Οι έξυπνες συμβάσεις καθιστούν δυνατή τη δημιουργία μοναδικών τεχνολογιών στο Ethereum για όλα τα είδη επιχειρήσεων και οργανισμών.
Κάθε χρόνο, ο κόσμος ξοδεύει δισεκατομμύρια δολάρια σε λύσεις blockchain. Πολλές από αυτές τις λύσεις δημιουργούνται χρησιμοποιώντας το Solidity. Έξυπνα συμβόλαια που δημιουργήθηκαν με τη χρήση του Solidity μπορούν να θεωρηθούν ως τρόπος αυτοματοποίησης επιχειρηματικών και μη επιχειρηματικών διαδικασιών μεταξύ διαφορετικών ανθρώπων. Αυτό διασφαλίζει ότι τα άτομα που πραγματοποιούν συναλλαγές στο blockchain δεν χρειάζεται να ανησυχούν για κινδύνους όπως απάτη ή μη δυνατότητα χρήσης του ίδιου νομίσματος.
Ένα από τα βασικά στοιχεία που καθιστά δυνατή την εκτέλεση του κωδικού Solidity είναι το EVM. Το EVM περιγράφεται ως ένας εικονικός υπολογιστής στο blockchain που μετατρέπει τις ιδέες των ανθρώπων σε κώδικα που εκτελεί εφαρμογές στο blockchain.
Κάτω από την κουκούλα, η Solidity δημιουργεί κώδικα σε επίπεδο μηχανήματος που εκτελείται στο EVM. Ένας μεταγλωττιστής χρησιμοποιείται για να αναλύσει έναν υψηλού επιπέδου αναγνώσιμο από τον άνθρωπο κώδικα, ο οποίος μετατρέπεται σε οδηγίες που διαβάζει ο επεξεργαστής. Διαφορετικές πλατφόρμες παρέχουν δωρεάν συλλογή Solidity, συμπεριλαμβανομένου του διαδικτυακού μεταγλωττιστή Remix και ενός μεταγλωττισμένου μεταγλωττιστή εντολών σε υπολογιστή.
Οι έξυπνες συμβάσεις EVM έχουν ορισμένους περιορισμούς που πρέπει να αντιμετωπιστούν. Ένα από τα πιο σημαντικά από αυτά είναι η περιορισμένη πρόσβαση σε χρήσιμες λειτουργίες βιβλιοθήκης για την ανάλυση δομών JSON ή αριθμητική κινητής υποδιαστολής.
Δημόσιες και ιδιωτικές λειτουργίες
Οι δημόσιες λειτουργίες είναι παρόμοιες με τα API στα οποία μπορεί να έχει πρόσβαση οποιοσδήποτε στον κόσμο. Ο καθένας μπορεί να τους καλέσει στον κωδικό τους. Οι δημόσιες λειτουργίες έχουν σχεδιαστεί, σε πολλές περιπτώσεις, για κοινές διαδικασίες σε μια πλατφόρμα που χρησιμοποιούν όλοι οι χρήστες.
Για παράδειγμα, θα μπορούσε να γίνει μια δημόσια λειτουργία για να επιτρέπεται σε όλους τους χρήστες μιας πλατφόρμας να ελέγχουν το υπόλοιπο του λογαριασμού τους. Ένας από τους πιο συνηθισμένους τρόπους εκμετάλλευσης έξυπνων συμβάσεων είναι μέσω δημόσιων λειτουργιών.
Σχετιζομαι με: Τι είναι το Blockchain και πώς λειτουργεί;
Ενώ τα έξυπνα συμβόλαια μπορεί να είναι εύκολο να γραφτούν με το Solidity, είναι συχνά πολύ δύσκολο να τα γράψετε με ασφάλεια. Για παράδειγμα, εάν η λειτουργία ανάληψης σε ένα έξυπνο συμβόλαιο δεν είναι ασφαλής, ένας εισβολέας μπορεί να χειριστεί την ευάλωτη λειτουργία για να εξαντλήσει έναν λογαριασμό χρημάτων.
Ένας εισβολέας θα μπορούσε να καλέσει μια λειτουργία ανάληψης για να στείλει χρήματα σε διαφορετικό λογαριασμό, χρησιμοποιώντας έναν βρόχο που επαναλαμβάνει επανειλημμένα τη λειτουργία ανάληψης.
Οι ιδιωτικές λειτουργίες μπορούν να κληθούν μόνο από τα συμβόλαια. Περιέχουν οδηγίες που μπορούν να εκτελεστούν μόνο αφού κληθούν από άλλες λειτουργίες, σε μια αλυσίδα. Αυτό δυσχεραίνει τον χειρισμό του κώδικα από κακόβουλους ηθοποιούς.
Πρότυπα και λογική κώδικα
Αναδύονται διαφορετικά πρότυπα που καθορίζουν τον τρόπο με τον οποίο χρησιμοποιούνται οι έξυπνες συμβάσεις Solidity για τη δημιουργία εφαρμογών στο Ethereum. Αυτά τα πρότυπα είναι γνωστά ως πρότυπα ERC (Ethereum Request for Comments). Τα πρότυπα βασίζονται σε ένα έγγραφο που περιέχει οδηγίες σχετικά με τις απαιτούμενες λειτουργίες και περιορισμούς στον τρόπο συμπεριφοράς του κώδικα.
Τα πρότυπα ERC που καθορίζουν τον τρόπο λειτουργίας της Στερεότητας περιλαμβάνουν:
- ERC20
- ERC165
- ERC721
- ERC223
- ERC621
- ERC777
- ERC827
- ERC884
- ERC865
- ERC1155
Υπάρχουν διαφορετικοί τρόποι με τους οποίους η Solidity μπορεί να χρησιμοποιηθεί για να κάνουν τα έξυπνα συμβόλαια να αλληλεπιδρούν μεταξύ τους. Η στερεότητα μπορεί επίσης να χρησιμοποιηθεί για να κάνετε ειδικές οδηγίες σχετικά με τον τρόπο αποθήκευσης των δεδομένων στο έξυπνο συμβόλαιο. Η λογική και τα δεδομένα στις έξυπνες συμβάσεις μπορούν να διαχωριστούν χρησιμοποιώντας το Solidity. Χρησιμοποιώντας υποκατάστατα συμβόλαια, η λογική μιας σύμβασης μπορεί να αλλάξει για να το επιτρέψει αυτό.
Αμετάβλητο
Είναι αδύνατο να αλλάξετε τον κώδικα μιας έξυπνης σύμβασης μετά τη σύνταξη και τη σύνταξη. Αυτό σημαίνει ότι κάθε γραμμή κώδικα πρέπει να λειτουργεί όπως προορίζεται αλλιώς μπορεί να υπάρχουν σοβαροί κίνδυνοι εκμετάλλευσης του κώδικα.
Σχετιζομαι με: Πώς να γίνετε προγραμματιστής Blockchain και να ξεκινήσετε να κερδίζετε μεγάλα χρήματα
Καθώς το blockchain Ethereum είναι αμετάβλητο, είναι αδύνατο να αλλάξετε τα δεδομένα και τη λογική που είναι γραμμένα σε αυτό. Ένας τρόπος για να το ξεπεράσετε αυτό είναι να χρησιμοποιήσετε έναν πληρεξούσιο για να δείξετε ένα άλλο συμβόλαιο που περιέχει πραγματική επιχειρηματική λογική. Αυτό επιτρέπει την επιδιόρθωση σφαλμάτων κατά την εφαρμογή μιας νέας έκδοσης της σύμβασης.
Κόστος αερίου
Υπάρχουν επιπλέον κόστη που καταβάλλονται για τη χρήση του Solidity στο mainnet Ethereum. Μερικά από τα επιπλέον κόστη βασίζονται στο σύστημα αερίου στο Ethereum, το οποίο απαιτεί πληρωμή σε ανθρακωρύχους για την ασφάλεια του δικτύου blockchain, έτσι ώστε ο κώδικας να μπορεί να τρέχει με ασφάλεια σε αυτό.
Κατά τη σύνταξη έξυπνων συμβάσεων, είναι σημαντικό να θυμόμαστε ότι το κόστος αερίου μπορεί να καθορίσει την απόδοση ενός έξυπνου συμβολαίου. Καθώς καταβάλλονται τέλη φυσικού αερίου για κάθε υποδοχή αποθήκευσης που χρησιμοποιείται, οι ενέργειες που εκτελούνται με τον κωδικό Solidity κόστος αερίου Ένα έξυπνο συμβόλαιο που είναι ακριβό για την εκτέλεση είναι απίθανο να χρησιμοποιηθεί μακροπρόθεσμα.
Η βελτιστοποίηση αερίου συμβάλλει στη μείωση του κόστους του αερίου όταν εκτελείται ο κωδικός Solidity. Μερικές από τις πιο δημοφιλείς μεθόδους βελτιστοποίησης αερίου περιλαμβάνουν τη χρήση βιβλιοθηκών και τη χρήση λιγότερων λειτουργιών. Οι βιβλιοθήκες χρησιμοποιούνται συχνά για την αποθήκευση bytecode.
Αντί να προσθέσετε περιττό bytecode στο έξυπνο συμβόλαιο, η λογική μπορεί να τοποθετηθεί σε βιβλιοθήκες. Αυτό βοηθά να διατηρηθεί το έξυπνο μέγεθος της σύμβασης μικρό. Χρησιμοποιώντας λιγότερες λειτουργίες, απαιτείται λιγότερος κωδικός bytec και μειώνεται επίσης η δυσκολία ελέγχου κώδικα.
Πώς μπορεί να χρησιμοποιηθεί η στερεότητα στο Ethereum;
Το Solidity χρησιμοποιείται για τη δημιουργία έξυπνων συμβολαίων για fungible tokens και non-fungible tokens. Χρησιμοποιούνται διαφορετικά πρότυπα για την κατασκευή μη εύφλεκτων μαρκών και μόνιμων μαρκών στο οικοσύστημα Ethereum.
Αυτά επιτρέπουν τη δημιουργία διαφορετικών τύπων περιπτώσεων χρήσης για άτομα που χρησιμοποιούν το blockchain. Η σταθερότητα επιτρέπει στους χρήστες να χρησιμοποιούν μάρκες και μη εύφλεκτα κουπόνια στο Ethereum. Από το κόψιμο μη εύφλεκτων μαρκών έως την προσθήκη τους σε αποθέματα καλλιεργειών για επιπλέον ενδιαφέρον, διαφορετικά είδη χρήσεων για μάρκες καθίστανται δυνατά από την Ethereum.
Οι αποκεντρωμένοι αυτόνομοι οργανισμοί (DAOs) καθίστανται επίσης δυνατοί από το Solidity. Ένα DAO, το οποίο είναι ένας νέος τύπος διαδικτυακής οργανωτικής δομής, γράφεται πρωτίστως στο Solidity. Οι DAO επιτρέπουν σε διαφορετικούς ανθρώπους να ενώνονται ως μέλη σε μια διαδικτυακή πλατφόρμα όπου ψηφίζουν για τις βασικές αποφάσεις του DAO.
Η σταθερότητα καθιστά δυνατή την αυτοματοποίηση διαδικασιών εντός του DAO. Παραδείγματα αυτοματοποίησης διεργασιών σε DAO περιλαμβάνουν τη λήψη ψήφων για βασικές αποφάσεις και την κατανομή της φήμης στα μέλη του DAO για τη συμβολή τους στην ομάδα.
Καθορισμός προτύπων για Blockchains
Η σταθερότητα είναι πολύ περισσότερο από μια γλώσσα προγραμματισμού. Καθορίζει πρότυπα για το μέλλον της τεχνολογίας blockchain.
Χάρη στον αριθμό προγραμματιστών ανοιχτού κώδικα που εργάζονται για τη βελτίωση της ασφάλειας και της απόδοσης του Solidity, χιλιάδες εφαρμογές στο οικοσύστημα Ethereum συνεχίζουν να εξαρτώνται από αυτό για τις εφαρμογές τους λειτουργεί. Καθώς δημιουργούνται νέα πρότυπα για έξυπνα συμβόλαια στο Ethereum, η γλώσσα θα γίνει ασφαλέστερη στη χρήση.
Είναι δυνατό ένα πραγματικά αποκεντρωμένο Διαδίκτυο; Τι σημαίνει αποκέντρωση και πώς θα σας κρατούσε ασφαλείς;
Διαβάστε Επόμενο
- Η τεχνολογία εξηγείται
- Προγραμματισμός
- Αιθέριο
- Blockchain

Ο Calvin είναι συγγραφέας στο MakeUseOf. Όταν δεν παρακολουθεί τον Rick και τον Morty ή τις αγαπημένες του αθλητικές ομάδες, ο Calvin γράφει για νεοσύστατες επιχειρήσεις, blockchain, κυβερνοασφάλεια και άλλους τομείς τεχνολογίας.
Εγγραφείτε στο Newsletter μας
Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Ένα ακόμη βήμα…!
Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.