Κατατάξεις
Δέκα εργαλεία ανάπτυξης blockchain: η λίστα του 2023

Τα εργαλεία ανάπτυξης μπορούν να εξοικονομήσουν χρόνο στη δημιουργία εφαρμογών blockchain. Αυτή η λίστα του 2023 παρουσιάζει δέκα γλώσσες, προγράμματα και κατηγορίες υποδομών. Δεν είναι κατάταξη αποκλειστικά σύγχρονων προϊόντων: ορισμένα είχαν ήδη καταργηθεί ή βρίσκονταν σε διαδικασία απόσυρσης.
1. Solidity
Solidity είναι μια ευρέως χρησιμοποιούμενη γλώσσα για έξυπνα συμβόλαια στο Ethereum και άλλα δίκτυα συμβατά με την EVM. Αναπτύχθηκε στο οικοσύστημα Ethereum, αλλά δεν είναι η μοναδική γλώσσα προγραμματισμού blockchain.
Η δημοτικότητά της συνδέεται με το μεγάλο οικοσύστημα βιβλιοθηκών και εργαλείων. Είναι κατάλληλη για πολλές εφαρμογές συμβατές με Ethereum, χωρίς να έχει εφεύρει την ίδια την έννοια των έξυπνων συμβολαίων.

Πηγή – Soliditylang.org
Υπάρχει εκτενής τεκμηρίωση για τη Solidity, μαζί με παραδείγματα και βιβλιοθήκες. Ο πηγαίος κώδικας μεταγλωττίζεται σε εκτελέσιμο κώδικα για την Ethereum Virtual Machine (EVM). Ο σύνδεσμος προς την έκδοση 0.8.21 της τεκμηρίωσης αντιστοιχεί στην αρχική περίοδο του άρθρου.
2. MetaMask
Για αλληλεπίδραση με αποκεντρωμένες εφαρμογές, οι προγραμματιστές χρησιμοποιούν συχνά ένα πορτοφόλι. Το MetaMask παρέχει, μεταξύ άλλων, επέκταση προγράμματος περιήγησης και εφαρμογή κινητού για διαχείριση λογαριασμών, σύνδεση με εφαρμογές και υπογραφή συναλλαγών.
Το MetaMask μπορεί να συνδεθεί με υποστηριζόμενα δίκτυα και δοκιμαστικά δίκτυα. Η αλλαγή δικτύου δεν μεταφέρει αυτόματα περιουσιακά στοιχεία μεταξύ blockchain. Η γεφύρωση απαιτεί χωριστές λειτουργίες ή υπηρεσίες· το πορτοφόλι δεν είναι δίκτυο blockchain και δεν εγγυάται ρευστότητα ή ασφάλεια εφαρμογών.
3. Truffle
Το Truffle ήταν γνωστό περιβάλλον ανάπτυξης συμβολαίων Ethereum, όχι μόνο tokens ERC-20. Παρείχε μεταγλώττιση, εγκατάσταση συμβολαίων, σύνδεση βιβλιοθηκών και αυτοματοποιημένες δοκιμές, μεταξύ άλλων με Mocha και Chai.
Η Consensys ανακοίνωσε στις 21 Σεπτεμβρίου 2023 την απόσυρση των Truffle και Ganache, με διατήρηση του κώδικα σε δημόσιο αρχείο από τις 20 Δεκεμβρίου 2023. Παρέπεμψε σε εναλλακτικές όπως Hardhat και Foundry. Εδώ το Truffle είναι ιστορικό εργαλείο, όχι απαραίτητη και ενεργά συντηρούμενη επιλογή για νέα έργα.
4. Δοκιμαστικά δίκτυα blockchain
Τα δοκιμαστικά δίκτυα βοηθούν στον έλεγχο συμβολαίων και εφαρμογών πριν από τη χρήση σε δίκτυο παραγωγής. Μπορούν να αναδείξουν λειτουργικά προβλήματα και δυσκολίες ενσωμάτωσης, αλλά δεν αποδεικνύουν αυτόματα ασφάλεια, σταθερότητα ή κλιμάκωση.
Υπάρχουν δημόσια δοκιμαστικά δίκτυα και τοπικά δίκτυα ανάπτυξης. Το Ganache ήταν τοπικό περιβάλλον blockchain του οικοσυστήματος Truffle, όχι δημόσιο δοκιμαστικό δίκτυο Ethereum. Η κατάσταση συντήρησής του περιγράφεται παραπάνω.
Τα τοπικά περιβάλλοντα προσφέρουν έλεγχο και γρήγορη επανάληψη δοκιμών. Τα δημόσια testnets επιτρέπουν αλληλεπιδράσεις σε κοινό περιβάλλον, αλλά το φορτίο και οι οικονομικές συνθήκες μπορεί να διαφέρουν από το mainnet. Τα δοκιμαστικά tokens προορίζονται για πειραματισμό χωρίς πραγματικά κεφάλαια mainnet· αυτό δεν μειώνει αυτόματα το κόστος gas της τελικής εφαρμογής παραγωγής.
5. Blockchain ως υπηρεσία (BaaS)
Στο μοντέλο BaaS, ένας πάροχος διαχειρίζεται τμήματα της υποδομής blockchain, όπως κόμβους ή δίκτυα. Αυτό μπορεί να απλοποιήσει την εγκατάσταση και τη λειτουργία, αλλά το κόστος και οι δυνατότητες εξαρτώνται από την υπηρεσία και την εφαρμογή.
Ο πάροχος μπορεί να αναλαμβάνει φιλοξενία, ενημερώσεις και παρακολούθηση στο πλαίσιο της συμφωνίας. Ο πελάτης εξακολουθεί να ευθύνεται για την εφαρμογή, τα δικαιώματα πρόσβασης, τη διαμόρφωση και τις σχετικές δοκιμές. Δεν μεταφέρονται όλες οι ευθύνες στον πάροχο.
Ένα παράδειγμα είναι η Amazon (AMZN ) με το Amazon Managed Blockchain. Το AWS Amplify είναι διαφορετικό εργαλείο για εφαρμογές ιστού και κινητού, το οποίο μπορεί να συνεργάζεται με υπηρεσίες blockchain. Η Microsoft (MSFT ) διαθέτει υποδομή νέφους Azure, αλλά η χωριστή Azure Blockchain Service είχε ήδη τερματιστεί τον Σεπτέμβριο του 2021. Το Azure δεν ταυτίζεται με την καταργημένη υπηρεσία. Η ενσωμάτωση και η υποστήριξη εξετάζονται ανά προϊόν.
6. Geth
Το Geth, γραμμένο σε Go, είναι πελάτης εκτέλεσης του Ethereum. Διαχειρίζεται συναλλαγές, εκτελεί συμβόλαια, ενημερώνει την κατάσταση και παρέχει διεπαφές για αναζήτηση δεδομένων και υποβολή συναλλαγών.
Από τη μετάβαση του Ethereum σε proof-of-stake το 2022, το Geth συνεργάζεται με πελάτη συναίνεσης για έναν πλήρη κόμβο. Δεν δημιουργεί αυτόματα γέφυρες μεταξύ δικτύων ERC-20 ούτε εκδίδει αυθαίρετα tokens. Το ERC-20 είναι πρότυπο token, όχι δίκτυο. Άλλα εργαλεία δημιουργούν τον κώδικα συμβολαίων και το Geth υποστηρίζει την εγκατάσταση και εκτέλεσή του. Η εξόρυξη στο mainnet ανήκει στην παλαιά εποχή proof-of-work.
7. Mist
Το Mist ήταν αυτόνομο πρόγραμμα περιήγησης εφαρμογών Ethereum, με τη σχετική Ethereum Wallet, και όχι επέκταση περιήγησης όπως το MetaMask. Μπορούσε να συνεργάζεται με τοπικό κόμβο και είχε εκδόσεις για Linux, macOS και Windows.
Στις 27 Μαρτίου 2019 οι δημιουργοί ανακοίνωσαν ότι τα Mist και Ethereum Wallet δεν υποστηρίζονταν πλέον. Το αποθετήριο αρχειοθετήθηκε. Επομένως το Mist δεν ήταν επίκαιρη σύσταση ούτε το 2023, και ένας ιστορικός επίσημος τίτλος δεν αποδεικνύει ασφάλεια. Η αναφορά έχει ιστορικό χαρακτήρα.
8. Remix IDE
Το Remix IDE είναι περιβάλλον ανάπτυξης, μεταξύ άλλων για Solidity, μέσω προγράμματος περιήγησης ή εφαρμογής υπολογιστή. Υποστηρίζει συγγραφή, μεταγλώττιση, ανάλυση, δοκιμές και εγκατάσταση έξυπνων συμβολαίων. Μπορεί να χρησιμοποιηθεί πρώτα σε τοπική προσομοίωση και μετά σε υποστηριζόμενο δοκιμαστικό ή παραγωγικό δίκτυο. Δεν αντικαθιστά ολοκληρωμένο έλεγχο ασφαλείας.
9. Ethlint
Το Ethlint, παλαιότερα Solium, ελέγχει πηγαίο κώδικα Solidity για κανόνες μορφοποίησης και ορισμένα ζητήματα ασφαλείας, διορθώνοντας κάποια αυτόματα. Η τεκμηρίωση αναφέρει ότι το παλαιό πακέτο solium δεν λαμβάνει ενημερώσεις μετά τον Δεκέμβριο του 2019 και παραπέμπει στο ethlint. Ένας linter δεν εντοπίζει όλες τις αδυναμίες και δεν αντικαθιστά δοκιμές ή audit. Η απόκλιση από κανόνα στυλ δεν προκαλεί από μόνη της αναγκαστικά κατάρρευση εφαρμογής. Πρέπει επίσης να ελέγχεται η συμβατότητα με την έκδοση Solidity.
10. Solc
Το solc είναι ο μεταγλωττιστής της Solidity. Παράγει, μεταξύ άλλων, bytecode και ABI για την επικοινωνία εφαρμογών με συμβόλαια. Ο εγγενής μεταγλωττιστής είναι υλοποιημένος σε C++, ενώ το solc-js επιτρέπει πρόσβαση στον ίδιο μεταγλωττιστή μέσω JavaScript. Αυτό δεν σημαίνει ότι δέχεται συμβόλαια γραμμένα σε C++ ή JavaScript: η γλώσσα εισόδου παραμένει η Solidity. Οι ρυθμίσεις πρέπει να ταιριάζουν στο συμβόλαιο και στο δίκτυο στόχο.
Επιλογή εργαλείων ανάπτυξης blockchain
Οι δέκα αναφορές καλύπτουν διαφορετικά στάδια ανάπτυξης. Εξετάστε λειτουργίες, κατάσταση συντήρησης και συμβατότητα πριν επιλέξετε εργαλείο. Η σωστή χρήση μπορεί να μειώσει τον φόρτο εργασίας, αλλά η ορθότητα των συμβολαίων απαιτεί και έρευνα, δοκιμές και ελέγχους ασφαλείας.












