Πώς να γράψετε το πρώτο σας έξυπνο συμβόλαιο;



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

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

Τα παρακάτω θέματα καλύπτονται σε αυτόν τον οδηγό ανάπτυξης έξυπνων συμβολαίων:





Δημιουργία του έξυπνου συμβολαίου σας

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



Δομή έξυπνης σύμβασης

Το έξυπνο συμβόλαιο Solidity, στην ουσία, είναι μια συλλογή από τα ακόλουθα

  • δεδομένα - που διατηρεί την τρέχουσα κατάσταση της σύμβασης
  • λειτουργία - που εφαρμόζουν τη λογική για τη μετάβαση της κατάστασης της σύμβασης

Οι έξυπνες συμβάσεις σταθερότητας ακολουθούν μια τυπική δομή. Κάθε έξυπνο συμβόλαιο ξεκινά με την ακόλουθη δήλωση



Pragma directive

Η λέξη-κλειδί «pragma» μπορεί να χρησιμοποιηθεί για την ενεργοποίηση ορισμένων χαρακτηριστικών ή ελέγχων του μεταγλωττιστή. Η παρακάτω δήλωση ορίζει ότι το αρχείο προέλευσης (έξυπνη σύμβαση) δεν θα μεταγλωττιστεί με τον μεταγλωττιστή νωρίτερα από το 0.4.0 και την έκδοση μεταγλωττιστή μετά το 0.6.0. Αυτή η δήλωση διασφαλίζει ότι δεν εισάγεται ακούσια συμπεριφορά κατά την εισαγωγή μιας νέας έκδοσης μεταγλωττιστή.

pragma solidity >=0.4.0<=0.6.0 

Δήλωση σύμβασης

Το συμβόλαιο δηλώνεται χρησιμοποιώντας τη λέξη-κλειδί «σύμβαση». Αυτό δηλώνει ένα κενό συμβόλαιο που προσδιορίζεται με το όνομα 'PurchaseOrder'.

σύμβαση PurchaseOrder {}

Αποθήκευση σχετικών δεδομένων στη σύμβαση

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

Έξυπνη ανάπτυξη συμβολαίων: Εισαγωγή μεταβλητών

Σε σταθερότητα, οι μεταβλητές είναι δύο τύπων

  1. Τύπος τιμής: Αυτοί οι τύποι μεταβλητών περνούν από την τιμή, δηλαδή αντιγράφονται πάντα όταν χρησιμοποιούνται ως ορίσματα συνάρτησης ή σε αναθέσεις. Για παράδειγμα: ακέραιοι αριθμοί, διεύθυνση booleans κ.λπ.
  2. Τύποι αναφοράς: Αυτοί οι τύποι μεταβλητών είναι σύνθετων τύπων και περνούν με αναφορά, αυτές οι μεταβλητές δεν χωράνε στα 256 bit και πρέπει να αντιμετωπιστούν προσεκτικά καθώς η αντιγραφή τους είναι δαπανηρή.

Προσθήκη δεδομένων στο Έξυπνο συμβόλαιο

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

δημιουργήστε ένα πακέτο σε java

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

  • U - χωρίς υπογραφή (που σημαίνει ότι αυτός ο τύπος μπορεί να αντιπροσωπεύει μόνο θετικούς ακέραιους, όχι θετικούς και αρνητικούς ακέραιους αριθμούς)
  • INT - ακέραιος
  • 256 - 256 bits σε μέγεθος
  • ελάχιστη τιμή που μπορεί να εκχωρηθεί uint256 είναι 0
  • η μέγιστη τιμή uint256 μπορεί να αντιστοιχιστεί είναι 2 ^ 256-1 [ένας πολύ μεγάλος αριθμός]

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

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

σύμβαση PurchaseOrder {uint256 product_quantity}

Ορισμός του κατασκευαστή

Ο κατασκευαστής καλείται κατά την ανάπτυξη του συμβολαίου. Ο κατασκευαστής αρχικοποιεί το συμβόλαιο με ορισμένες τιμές. Στο τρέχον σενάριο, η ποσότητα του προϊόντος ορίζεται σε 100, όταν αναπτύσσεται η σύμβαση. Ένας παράμετρος κατασκευαστής μπορεί επίσης να δημιουργηθεί μεταβιβάζοντας μια μεταβλητή και αρχικοποιώντας την τιμή_ προϊόντος χρησιμοποιώντας την τιμή μεταβίβασης.

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

κατασκευαστής () δημόσιο {product_quantity = 100}

Προσθήκη λειτουργιών

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

Λάβετε τη λειτουργία

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

php parse string to array

Ας αναλύσουμε τώρα τη λειτουργία get (get_quantity)

Οχι. Λέξη-κλειδί αξία
ένας get_quantity (){δεν έχουν περάσει παράμετροι}
2 δημόσιο{οποιοσδήποτε μπορεί να έχει πρόσβαση στη λειτουργία}
3 θέα{υποδηλώνει ότι η συνάρτηση διαβάζει μόνο την κατάσταση της σύμβασης, δεν αλλάζει την κατάσταση της σύμβασης, επομένως δείτε}
4 επιστρέφει μια μεταβλητή τύπου uint256 {που ορίζεται τι επιστρέφεται από τη συνάρτηση}
συνάρτηση get_quantity () επιστροφές δημόσιας προβολής (uint256) {return product_quantity}

Λειτουργίες ρυθμιστή

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

Ας αναλύσουμε τώρα τη συνόλου λειτουργίας μας (update_quantity)

Προσθήκη συνάρτησης για ενημέρωση της τιμής της ποσότητας προϊόντος

Οχι. Λέξη-κλειδί αξία
ένας update_quantity (τιμή uint256){η τιμή παραμέτρου του τύπου uint256 έχει περάσει}
2 δημόσιο{οποιοσδήποτε μπορεί να έχει πρόσβαση στη λειτουργία}
3 Δεν απαιτείται καθώς η κατάσταση ενημερώνεται από τις συναρτήσεις
4 επιστρέφει μια μεταβλητή τύπου uint256 (ορίζεται τι επιστρέφεται από τη συνάρτηση)
συνάρτηση update_quantity (τιμή uint256) δημόσια {product_quantity = product_quantity + value}

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

pragma solidity >=0.4.0<=0.6.0 contract PurchaseOrder{ uint256 product_quantity //state variable /*Called with the contract is deployed and initializes the value*/ constructor() public{ product_quantity = 100 } // Get Function function get_quantity() public view returns(uint256){ return product_quantity } // Set Function function update_quantity(uint256 value) public { product_quantity = product_quantity + value } } 

Ανάπτυξη του έξυπνου συμβολαίου

Ώρα να δοκιμάσετε το έξυπνο συμβόλαιο. Για να δοκιμάσουμε αυτό το έξυπνο συμβόλαιο, θα το χρησιμοποιήσουμε Remix Online IDE .

Το Remix είναι μια διαδικτυακή παιδική χαρά για έξυπνο συμβόλαιο ethereum . Το Remix βασίζεται εντελώς στο πρόγραμμα περιήγησης. Το Remix σάς παρέχει ένα διαδικτυακό IDE (ολοκληρωμένο περιβάλλον ανάπτυξης) όπου μπορείτε να συντάξετε τα έξυπνα συμβόλαιά σας. Το Remix σας παρέχει μια δυνατότητα μεταγλώττισης σταθερότητας στο διαδίκτυο. Το έξυπνο συμβόλαιο στο Remix IDE μπορεί να μεταγλωττιστεί χρησιμοποιώντας μια συγκεκριμένη έκδοση μεταγλωττιστή απρόσκοπτα.

Το Remix παρέχει επίσης τη δυνατότητα γρήγορης δοκιμής του έξυπνου συμβολαίου.

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

Με το Remix IDE, το μόνο που χρειάζεστε είναι ένα πρόγραμμα περιήγησης και μια σύνδεση στο Διαδίκτυο για να ξεκινήσετε με την ανάπτυξη έξυπνων συμβάσεων. Γρήγορη ανάπτυξη, δοκιμή και επικύρωση μιας ιδέας για ένα έξυπνο συμβόλαιο.

Το Remix αναβάθμισε πρόσφατα το περιβάλλον χρήστη του.

Remix-UI-Smart-Contracts-Edureka

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

  1. Κάνοντας κλικ στο εικονίδιο συν, μπορεί να δημιουργηθεί ένα νέο αρχείο, το όνομα του αρχείου PurchaseOrder.sol
  2. Αυτό θα δημιουργήσει ένα κενό αρχείο με το όνομα PurchaseOrder.sol, κάντε κλικ και ανοίξτε αυτό το αρχείο.
  3. Ας αντιγράψουμε επικολλήστε ολόκληρο το συμβόλαιο στο PurchaseOrder.sol.
  4. Κάντε κλικ στο δεύτερο εικονίδιο, στο αριστερό μενού ακριβώς κάτω από το εικονίδιο του αρχείου, θα πρέπει να εμφανιστεί η επιλογή μεταγλωττιστή σταθερότητας.
  5. Κάτω από την ετικέτα του μεταγλωττιστή, επιλέξτε την έκδοση του μεταγλωττιστή. Η τρέχουσα επιλεγμένη έκδοση είναι 0,5.8.
  6. Μετά την επιλογή της έκδοσης του μεταγλωττιστή, κάντε κλικ στο 'Compile PurchaseOrder.sol'. Αυτό θα συντάξει το έξυπνο συμβόλαιο.

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

    • ABI - Δυαδική διεπαφή εφαρμογής. Πρόκειται για ένα αρχείο json που περιγράφει λεπτομερώς όλες τις μεθόδους που εκτίθενται στο έξυπνο συμβόλαιο μαζί με μεταδεδομένα των μεθόδων. Περισσότερα για αυτό θα συζητηθούν στα επόμενα ιστολόγια.
    • Bytecode- Κωδικός λειτουργίας EVM (εικονική μηχανή Ethereum), η λογική της έξυπνης σύμβασης μετατρέπεται στον κωδικό bytec κατά την κατάρτιση.

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

Επιλογή ανάπτυξης

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

  • Περιβάλλον: Αυτό μπορεί να θεωρηθεί μια επιλογή παρόμοια με την επιλογή να αγοράσετε φορητό υπολογιστή από το Amazon, το Flipkart, το Newegg (όλα αυτά είναι διαδικτυακά έμποροι λιανικής πώλησης), επιλέγοντας από όπου θέλετε να αγοράσετε, ανάλογα με τις απαιτήσεις σας. Ομοίως, στην περίπτωση του Remix, έχουμε την επιλογή να αναπτύξουμε το έξυπνο συμβόλαιο και να δοκιμάσουμε το έξυπνο συμβόλαιο. Το αναπτυσσόμενο μενού δίπλα στην ετικέτα περιβάλλοντος παρέχει τρεις επιλογές
    • JavaScript VM - ένας τοπικός ενιαίος κόμβος Ethereum είναι συνδεδεμένος στη μνήμη του προγράμματος περιήγησης και παρέχει 5 προπληρωμένους δοκιμαστικούς λογαριασμούς που μπορούν να χρησιμοποιηθούν για τη συναλλαγή (ανάπτυξη, λειτουργίες επίκλησης)
    • Ένεση Web3 Παροχή - Αυτό βασίζεται στο MetaMask. Το Metamask είναι σαν μεσίτης ή μεσάζων, που επιτρέπει στις διαδικτυακές εφαρμογές να αλληλεπιδρούν με το έξυπνο συμβόλαιο. Το Metamask παρέχει τη δυνατότητα διαχείρισης των ταυτοτήτων και υπογραφής των συναλλαγών που πρέπει να σταλούν στο δίκτυο ethereum. Αυτός ο μεσάζων ή 3rdσυμβαλλόμενο μέρος σας βοηθά να προσδιορίσετε το δίκτυο blockchain στο οποίο θα αναπτυχθεί το έξυπνο συμβόλαιο.
    • Παροχέας Web3 - εάν εκτελείτε έναν τοπικό κόμβο Ethereum και είναι διαθέσιμο το τελικό σημείο RPC, αυτή η επιλογή μπορεί να χρησιμοποιηθεί. Το έξυπνο συμβόλαιο θα αναπτυχθεί στον τοπικό κόμβο Ethereum.
  • Λογαριασμοί: Αυτές οι πληροφορίες συμπληρώνονται με βάση το επιλεγμένο περιβάλλον. Για παράδειγμα. Το JavaScript VM παρέχει 5 προπληρωμένους δοκιμαστικούς λογαριασμούς. Στην περίπτωση του παρόχου Web3 και του Injected Web3, δεν παρέχετε προπληρωμένους δοκιμαστικούς λογαριασμούς.
  • Όριο αερίου: Αυτό καθορίζει τη μέγιστη ποσότητα αερίου που ο εκκινητής είναι διατεθειμένος να δαπανήσει για οποιαδήποτε συναλλαγή. Αυτό είναι το μέρος για την προστασία από τον άπειρο βρόχο και την εξάντληση όλων των χρημάτων του λογαριασμού σε περίπτωση κατάστασης άπειρου βρόχου.
  • Αξία: Η τιμή που ενδέχεται να απαιτείται για αποστολή κατά την ανάπτυξη του έξυπνου συμβολαίου. Αυτή είναι μια προαιρετική τιμή.

Για να αναπτύξετε τη σύμβαση, επιλέξτε JavaScript VM, επιλέξτε τον πρώτο λογαριασμό από τους αναπτυσσόμενους λογαριασμούς, σημειώστε το υπόλοιπο του λογαριασμού (100 αιθέρας).

Βεβαιωθείτε ότι το όνομα της έξυπνης σύμβασης που εμφανίζεται είναι PurchaseOrder, κάντε κλικ στην ανάπτυξη. Βασικές ενέργειες που θα συμβούν

ρηχό vs βαθύ αντίγραφο java

  1. Το υπόλοιπο του λογαριασμού αλλάζει από 100 αιθέρα σε 99,999999 αιθέρα, το ποσό που αφαιρείται είναι το κόστος συναλλαγής για την ανάπτυξη του έξυπνου συμβολαίου.
  2. Σύμφωνα με το αναπτυσσόμενο συμβόλαιο θα εμφανιστεί ένα νέο πλακίδιο για έξυπνο συμβόλαιο, το οποίο θα παρέχει επίσης τη διεύθυνση του νέου έξυπνου συμβολαίου κάτι τέτοιο (0x692a70d2e424a56d2c6c27aa97d1a86395877b3a)
  3. Στο παράθυρο της κονσόλας θα εμφανιστούν οι ακόλουθες πληροφορίες
    1. Κατακερματισμός συναλλαγής - προσδιορίζει με μοναδικό τρόπο την ανάπτυξη της σύμβασης
    2. Κόστος μεταφοράς
    3. Διεύθυνση σύμβασης

Αλληλεπίδραση με το αναπτυγμένο συμβόλαιο

  1. Σύμφωνα με το αναπτυγμένο συμβόλαιο, ακολουθούν δύο μέθοδοι αλληλεπίδρασης που είναι διαθέσιμες το update_quantity και το get_quantity.
  2. Και οι δύο αυτές μέθοδοι αλληλεπίδρασης είναι οι δημόσιες μέθοδοι που ορίζονται στη σύμβαση 'Εντολή αγοράς'.
  3. Η μέθοδος ενημέρωσης ποσότητας 'update_quantity' απαιτεί μια παράμετρο εισαγωγής, εξ ου και το πλαίσιο εισαγωγής.
  4. Λήψη ποσότητας Η μέθοδος 'get_quantity' ανακτά την τιμή του προϊόντος_quantity.
  5. Ας ελέγξουμε τι συμβαίνει όταν γίνεται κλήση get_quantity, εμφανίζεται η τιμή επιστροφής 100, η ​​οποία αρχικοποιήθηκε στον κατασκευαστή. Αυτό δεν προκαλεί την πραγματοποίηση μιας συναλλαγής
  6. Ας επικαλεστούμε το update_quantity και παρέχουμε 30 ως είσοδο. Αυτό προκαλεί την πραγματοποίηση μιας συναλλαγής

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

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

Συμπέρασμα έξυπνης ανάπτυξης συμβολαίων

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

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

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

ΕγώΕάν επιθυμείτε να μάθετε έξυπνα συμβόλαια, να δημιουργήσετε μια καριέρα στον τομέα του Blockchain και να αποκτήσετε εμπειρία στον προγραμματισμό Ethereum, να εγγραφείτε σε live-online εδώ, συνοδεύεται από υποστήριξη 24 * 7 για να σας καθοδηγήσει καθ 'όλη τη διάρκεια της μαθησιακής σας περιόδου.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων του 'Έξυπνη ανάπτυξη συμβολαίου' και θα επικοινωνήσουμε μαζί σας στο earlieαγ.