Ξεκινήστε τον δικό σας κόμβο Ethereum
Η εκτέλεση του δικού σας κόμβου σάς παρέχει διάφορα οφέλη, ανοίγει νέες δυνατότητες και βοηθά στην υποστήριξη του οικοσυστήματος. Αυτή η σελίδα θα σας καθοδηγήσει να δημιουργήσετε το δικό σας κόμβο και να λάβετε μέρος στην επικύρωση συναλλαγών Ethereum.
Σημειώστε ότι μετά τη Συγχώνευση, απαιτούνται δύο πελάτες για την εκτέλεση ενός κόμβου Ethereum, έναν πελάτη επιπέδου εκτέλεσης (EL) και έναν πελάτη επιπέδου συναίνεσης (CL). Αυτή η σελίδα θα δείξει πώς να εγκαταστήσετε, να ρυθμίσετε και να συνδέσετε αυτούς τους δύο πελάτες για να εκτελέσετε ένα κόμβο Ethereum.
Προαπαιτούμενα
Θα πρέπει να κατανοήσετε τι είναι ένας κόμβος Ethereum και γιατί μπορεί να θέλετε να εκτελέσετε έναν πελάτη. Αυτό καλύπτεται στο Κόμβοι και πελάτες.
Εάν είστε νέοι στο θέμα της εκτέλεσης ενός κόμβου ή αναζητάτε μια λιγότερο τεχνική προσέγγιση, σας συνιστούμε να ελέγξετε πρώτα τη φιλική προς το χρήστη εισαγωγή μας σχετικά με την εκτέλεση ενός κόμβου Ethereum.
Επιλογή προσέγγισης
Το πρώτο βήμα για το ξεκίνημα του κόμβου σας, είναι η επιλογή του τρόπου προσέγγισής σας. Βάσει των απαιτήσεων και των διαφόρων δυνατοτήτων, πρέπει να επιλέξετε την υλοποίηση του πελάτη (τόσο για τον πελάτη εκτέλεσης όσο και για τον πελάτη συναίνεσης), το περιβάλλον του (υλικό, σύστημα) και τις παραμέτρους για τις ρυθμίσεις του πελάτη.
Αυτή η σελίδα θα σας καθοδηγήσει σε αυτές τις αποφάσεις και θα σας βοηθήσει να βρείτε τον πιο κατάλληλο τρόπο για να εκτελέσετε το σύστημά σας Ethereum.
Για να επιλέξετε μια από τις υλοποιήσεις πελατών, δείτε όλους τους διαθέσιμους πελάτες εκτέλεσης έτοιμους για το Mainnet, τους πελάτες συναίνεσης και μάθετε για την ποικιλομορφία των πελατών.
Αποφασίστε εάν θα εκτελέσετε το λογισμικό στο δικό σας σύστημα ή στο cloud, λαμβάνοντας υπόψη τις απαιτήσεις των πελατών.
Αφού προετοιμάσετε το περιβάλλον, εγκαταστήστε τους επιλεγμένους πελάτες είτε με φιλική προς τον αρχάριο διεπαφή είτε χειροκίνητα χρησιμοποιώντας ένα τερματικό με προηγμένες επιλογές.
Όταν ο κόμβος εκτελείται και συγχρονίζεται, είστε έτοιμοι να τον χρησιμοποιήσετε, αλλά φροντίστε να παρακολουθείτε τη συντήρησή του.
Περιβάλλον και υλικό
Τοπικό ή cloud
Οι πελάτες Ethereum μπορούν να εκτελεστούν σε κοινούς υπολογιστές και δεν απαιτούν ειδικό υλικό, όπως για παράδειγμα μηχανές κρυπτόρυξης. Επομένως, έχετε διάφορες επιλογές για την ανάπτυξη του κόμβου με βάση τις ανάγκες σας. Για απλοποίηση, ας σκεφτούμε την εκτέλεση ενός κόμβου τόσο σε ένα τοπικό φυσικό μηχάνημα όσο και σε έναν διακομιστή cloud:
- Cloud
- Οι παροχείς προσφέρουν υψηλό χρόνο λειτουργίας διακομιστή και στατικές δημόσιες διευθύνσεις IP.
- Η απόκτηση ξεχωριστού ή εικονικού διακομιστή μπορεί να είναι πιο άνετη από την κατασκευή του δικού σας.
- Η ανταλλαγή είναι η εμπιστοσύνη σε ένα τρίτο μέρος, τον διακομιστή παρόχου.
- Λόγω του απαιτούμενου μεγέθους αποθήκευσης για έναν πλήρη κόμβο, η τιμή ενός ενοικιαζόμενου διακομιστή μπορεί να αυξηθεί.
- Με δικά σας υλικά
- Πιο αποκεντρωμένη και ανεξάρτητη προσέγγιση.
- Επένδυση μίας φοράς.
- Μια επιλογή να αγοράσετε έτοιμα συστήματα.
- Πρέπει να τα προετοιμάσετε εσείς, να τα συντηρήσετε και ενδεχομένως να αντιμετωπίσετε προβλήματα με τη λειτουργία και τη δικτύωση.
Και οι δύο επιλογές έχουν διαφορετικά πλεονεκτήματα που συνοψίζονται παραπάνω. Αν ψάχνετε για μια λύση cloud, εκτός από πολλούς παραδοσιακούς παρόχους «cloud computing», υπάρχουν επίσης υπηρεσίες που επικεντρώνονται στην ανάπτυξη κόμβων. Εξετάστε τους κόμβους ως υπηρεσία για περισσότερες επιλογές σε φιλοξενούμενους κόμβους.
Εξοπλισμός
Ωστόσο, ένα δίκτυο ανθεκτικό στη λογοκρισία και αποκεντρωμένο, δεν πρέπει να βασίζεται σε παρόχους cloud. Αντίθετα, η εκτέλεση του κόμβου στο δικό σας τοπικό σύστημα, είναι πιο υγιές για το οικοσύστημα. Εκτιμήσεις δείχνουν ένα μεγάλο μερίδιο των κόμβων που εκτελούνται στο cloud, θα μπορούσε να γίνουν ένα σημείο αποτυχίας.
Οι πελάτες Ethereum μπορούν να εκτελεστούν στον υπολογιστή, το laptop, τον διακομιστή σας ή ακόμα και σε έναν μικρό υπολογιστή. Ενώ η εκτέλεση πελατών στον προσωπικό σας υπολογιστή είναι εφικτή, η ύπαρξη μιας αποκλειστικής μηχανής μόνο για τον κόμβο σας μπορεί να βελτιώσει σημαντικά την απόδοση και την ασφάλειά του, ενώ ελαχιστοποιεί τον αντίκτυπο στον κύριο υπολογιστή σας.
Η χρήση του δικού σας υλικού μπορεί να είναι πολύ εύκολη. Υπάρχουν πολλές απλές επιλογές καθώς και προχωρημένες ρυθμίσεις για ποιο τεχνικούς. Ας εξετάσουμε λοιπόν τις απαιτήσεις και τα μέσα για την εκτέλεση των πελατών Ethereum στον υπολογιστή σας.
Προϋποθέσεις
Οι απαιτήσεις υλικού διαφέρουν ανάλογα με τον πελάτη, αλλά γενικά δεν είναι τόσο υψηλές καθώς ο κόμβος απλά πρέπει να παραμείνει συγχρονισμένος. Μην το συγχέετε με την κρυπτόρυξη, η οποία απαιτεί πολύ περισσότερη υπολογιστική ισχύ. Ωστόσο, ο χρόνος συγχρονισμού και η απόδοση βελτιώνονται με ισχυρότερο υλικό.
Πριν εγκαταστήσετε οποιοδήποτε πελάτη, βεβαιωθείτε ότι ο υπολογιστής σας διαθέτει επαρκείς πόρους για να τον εκτελέσει. Μπορείτε να βρείτε τις ελάχιστες και προτεινόμενες απαιτήσεις παρακάτω.
Το κύριο πρόβλημα για το υλικό σας είναι κυρίως ο χώρος στο δίσκο. Ο συγχρονισμός της κρυπτοαλυσίδας Ethereum είναι πολύ απαιτητικός σε εισαγωγή/εξαγωγή δεδομένων και απαιτεί πολύ χώρο. Είναι καλύτερο να έχετε ένα δίσκο solid-state drive (SSD) με εκατοντάδες GB ελεύθερου χώρου ακόμα και μετά τον συγχρονισμό.
Το μέγεθος της βάσης δεδομένων και η ταχύτητα του αρχικού συγχρονισμού εξαρτώνται από τον επιλεγμένο πελάτη, τη διαμόρφωσή του και τη στρατηγική συγχρονισμού.
Επίσης, βεβαιωθείτε ότι η σύνδεση στο internet σας δεν περιορίζεται από όριο εύρους ζώνης. Συνιστάται να χρησιμοποιείτε μια σύνδεση χωρίς έλεγχο δεδομένων, καθώς ο αρχικός συγχρονισμός και τα δεδομένα που μεταδίδονται στο δίκτυο ενδέχεται να υπερβούν το όριο σας.
Λειτουργικό σύστημα
Όλοι οι πελάτες υποστηρίζουν τα μεγαλύτερα λειτουργικά συστήματα Linux, MacOS και Windows. Αυτό σημαίνει ότι μπορείτε να εκτελείτε κόμβους σε κανονικούς υπολογιστές ή μηχανήματα διακομιστή με το λειτουργικό σύστημα (OS) που σας ταιριάζει καλύτερα. Βεβαιωθείτε ότι το λειτουργικό σύστημά σας είναι ενημερωμένο, για να αποφύγετε πιθανά προβλήματα και ευπάθειες ασφαλείας.
Ελάχιστες απαιτήσεις
- Επεξεργαστής με 2+ πυρήνες
- 8 GB RAM
- 2TB SSD
- Εύρος ζώνης 10+ MBit/s
Προτεινόμενες προδιαγραφές
- Γρήγορη CPU με 4+ πυρήνες
- 16 GB+ RAM
- Γρήγορο SSD με 2+TB
- Εύρος ζώνης 25+ MBit/s
Η λειτουργία συγχρονισμού και ο πελάτης που θα επιλέξετε θα επηρεάσουν τις απαιτήσεις μνήμης, αλλά έχουμε υπολογίσει το χώρο στο δίσκο που θα χρειαστείτε για κάθε πελάτη παρακάτω.
Πελάτης | Μέγ. δίσκου (συγχρ snap) | Μέγ. δίσκου (πλήρης) |
---|---|---|
Besu | 800GB+ | 12TB+ |
Erigon | N/A | 2.5TB+ |
Geth | 500GB+ | 12TB+ |
Nethermind | 500GB+ | 12TB+ |
Reth | N/A | 2.2TB+ |
- Σημείωση: Τα Erigon και Reth δεν προσφέρουν snap sync, αλλά είναι δυνατή η πλήρης περικοπή (~2TB για το Erigon, ~1.2TB για το Reth).
Για τους πελάτες συναίνεσης, η απαίτηση χώρου εξαρτάται επίσης από την υλοποίηση του πελάτη και τις ενεργοποιημένες λειτουργίες (π.χ. περικοπή επικυρωτή) αλλά γενικά υπολογίζεται άλλα 200GB που απαιτούνται για τα δεδομένα του beacon. Με ένα μεγάλο αριθμό επικυρωτών, το φορτίο εύρους ζώνης αυξάνεται επίσης. Μπορείτε να βρείτε λεπτομέρειες σχετικά με τις απαιτήσεις του πελάτη συναίνεσης σε αυτήν την ανάλυση.
Λύσεις plug-and-play
Η πιο εύκολη επιλογή για τη λειτουργία ενός κόμβου με το δικό σας υλικό είναι η χρήση κουτιών plug-and-play. Οι προκαθορισμένες μηχανές από τους προμηθευτές προσφέρουν την πιο απλή εμπειρία: παραγγελία, σύνδεση, εκτέλεση. Όλα είναι προκαθορισμένα και εκτελούνται αυτόματα με έναν εύκολο οδηγό και πίνακα ελέγχου για την παρακολούθηση και τον έλεγχο του λογισμικού.
Ethereum σε έναν απλό υπολογιστή
Ένας εύκολος και φθηνός τρόπος για να εκτελέσετε έναν κόμβο Ethereum είναι να χρησιμοποιήσετε έναν απλό υπολογιστή, ακόμα και με αρχιτεκτονική ARM όπως το Raspberry Pi. Το Ethereum σε ARM παρέχει εύκολες στην εκτέλεση εικόνες πολλαπλών πελατών εκτέλεσης και συναίνεσης για Raspberry Pi και άλλες πλακέτες ARM.
Μικρές, φθηνές και αποτελεσματικές συσκευές ιδανικές για τη λειτουργία ενός κόμβου στο σπίτι, αλλά να έχετε κατά νου την περιορισμένη απόδοσή τους.
Ξεκίνημα του κόμβου
Η πραγματική εγκατάσταση του λογισμικού πελάτη μπορεί να γίνει είτε με αυτόματους τρόπους είτε χειροκίνητα, ρυθμίζοντας απευθείας το λογισμικό του πελάτη.
Για τους λιγότερο προχωρημένους χρήστες, η συνιστώμενη προσέγγιση είναι να χρησιμοποιήσετε έναν βοηθό εγκατάστασης, το λογισμικό που σας καθοδηγεί κατά την εγκατάσταση και αυτοματοποιεί τη διαδικασία ρύθμισης του πελάτη. Ωστόσο, εάν έχετε κάποια εμπειρία στη χρήση τερματικού, τα βήματα για χειροκίνητη εγκατάσταση, θα πρέπει να είναι εύκολα προς υλοποίηση.
Καθοδηγούμενη εγκατάσταση
Πολλά έργα φιλικά προς τον χρήστη, στοχεύουν να βελτιώσουν την εμπειρίας ρύθμισης ενός πελάτη. Αυτοί οι βοηθοί παρέχουν αυτόματη εγκατάσταση και ρύθμιση πελάτη, με ορισμένους να προσφέρουν ακόμη και γραφική διεπαφή για καθοδηγούμενη εγκατάσταση και παρακολούθηση πελατών.
Παρακάτω είναι μερικά έργα που μπορούν να σας βοηθήσουν να εγκαταστήσετε και να ελέγξετε πελάτες μόνο με μερικά κλικ:
- DappNode - Το DappNode δεν έρχεται μόνο με μια μηχανή από έναν προμηθευτή. Το λογισμικό, ο πραγματικός βοηθός εκκίνησης κόμβου και το κέντρο ελέγχου με πολλές λειτουργίες μπορούν να χρησιμοποιηθούν σε γενικό υλικό.
- eth-docker - Αυτόματη εγκατάσταση χρησιμοποιώντας Docker επικεντρωμένη στην εύκολη και ασφαλή συμμετοχή, απαιτεί βασικές γνώσεις τερματικού και Docker, συνιστάται για λίγο πιο προχωρημένους χρήστες.
- Stereum - Εκκινητής εγκατάστασης για την εγκατάσταση πελατών σε απομακρυσμένο διακομιστή μέσω σύνδεσης SSH με οδηγό ρύθμισης GUI, κέντρο ελέγχου και πολλές άλλες λειτουργίες.
- NiceNode - Εκκινητής εγκατάστασης με απλή εμπειρία χρήστη για να εκτελέσετε έναν κόμβο στον υπολογιστή σας. Απλώς επιλέξτε τους πελάτες και ξεκινήστε τους με μερικά κλικ. Υπό ανάπτυξη.
- Sedge - Εργαλείο ρύθμισης κόμβου που δημιουργεί αυτόματα μια διαμόρφωση Docker χρησιμοποιώντας οδηγό CLI. Γραμμένο σε Go από το Nethermind.
Χειροκίνητη εγκατάσταση πελάτη
Η άλλη επιλογή είναι να κατεβάσετε, να επαληθεύσετε και να ρυθμίσετε το λογισμικό του πελάτη χειροκίνητα. Ακόμα και αν ορισμένοι πελάτες προσφέρουν γραφική διεπαφή, μια χειροκίνητη εγκατάσταση απαιτεί ακόμα βασικές δεξιότητες με το τερματικό αλλά προσφέρει πολύ μεγαλύτερη ευελιξία.
Όπως εξηγήθηκε προηγουμένως, η δημιουργία του δικού σας κόμβου Ethereum θα απαιτήσει την εκτέλεση ενός ζεύγους πελατών συναίνεσης και εκτέλεσης. Μερικοί πελάτες ενδέχεται να περιλαμβάνουν έναν ελαφρύ πελάτη άλλου είδους και να συγχρονίζονται χωρίς να απαιτείται άλλο λογισμικό. Ωστόσο, η πλήρης χωρίς εμπιστοσύνη επαλήθευση απαιτεί και τις δύο υλοποιήσεις.
Λήψη του λογισμικού πελάτη
Πρώτον, πρέπει να αποκτήσετε το προτιμώμενο λογισμικό πελάτη εκτέλεσης και πελάτη συναίνεσης.
Μπορείτε απλώς να κατεβάσετε μια εφαρμογή εκτελέσιμου αρχείου ή πακέτο εγκατάστασης που ταιριάζει στο λειτουργικό σας σύστημα και την αρχιτεκτονική σας. Επιβεβαιώστε πάντα τις υπογραφές και τους ελέγχους ακεραιότητας των ληφθέντων πακέτων. Ορισμένοι πελάτες προσφέρουν επίσης αποθετήρια ή εικόνες Docker για ευκολότερη εγκατάσταση και ενημερώσεις. Όλοι οι πελάτες είναι ανοιχτού κώδικα, επομένως μπορείτε επίσης να τους δημιουργήσετε από την πηγή. Αυτή είναι μια πιο προηγμένη μέθοδος, αλλά σε ορισμένες περιπτώσεις μπορεί να απαιτείται.
Οι οδηγίες για την εγκατάσταση κάθε πελάτη παρέχονται στην τεκμηρίωση που συνδέεται στις παραπάνω λίστες πελατών.
Ακολουθούν οι σελίδες κυκλοφορίας λογισμικών πελάτη όπου μπορείτε να βρείτε τα προκατασκευασμένα αρχεία τους ή οδηγίες εγκατάστασης:
Προγράμματα εκτέλεσης
Είναι επίσης αξιοσημείωτο ότι η ποικιλομορφία των πελατών είναι ένα ζήτημα στο επίπεδο εκτέλεσης. Συνιστάται στους αναγνώστες να εξετάσουν την εκτέλεση ενός μειοψηφικού πελάτη εκτέλεσης.
Προγράμματα συναίνεσης
- Lighthouse
- Lodestar (Δεν παρέχει ένα προκατασκευασμένο δυαδικό αρχείο, μόνο μια εικόνα Docker ή να κατασκευαστεί από την πηγή)
- Nimbus
- Prysm
- Teku
Η ποικιλομορφία πελάτη είναι κρίσιμη για τους κόμβους συναίνεσης που εκτελούν επικυρωτές. Εάν η πλειοψηφία των επικυρωτών εκτελεί μια απλή υλοποίηση πελάτη, η ασφάλεια του δικτύου διατρέχει κίνδυνο. Συνεπώς, συνιστάται να εξεταστεί η επιλογή ενός πελάτη με λιγότερες εγκαταστάσεις.
Δείτε τη νεότερη χρήση πελατών δικτύου και μάθετε περισσότερα για την ποικιλομορφία των πελατών.
Επαλήθευση λογισμικού
Κατά τη λήψη λογισμικού από το διαδίκτυο, συνιστάται να επαληθεύετε την ακεραιότητά του. Αυτό το βήμα είναι προαιρετικό, αλλά ειδικά με ένα κρίσιμο κομμάτι υποδομής όπως ο πελάτης Ethereum, είναι σημαντικό να γνωρίζετε πιθανούς φορείς επίθεσης και να τους αποφεύγετε. Εάν κατεβάσατε ένα προκατασκευασμένο δυαδικό αρχείο, πρέπει να το εμπιστευτείτε και να διακινδυνεύσετε ότι ένας επιτιθέμενος θα μπορούσε να αντικαταστήσει το εκτελέσιμο αρχείο με ένα κακόβουλο.
Οι προγραμματιστές υπογράφουν τα δυαδικά αρχεία που κυκλοφορούν με τα PGP κλειδιά τους, ώστε να μπορείτε να επαληθεύσετε κρυπτογραφικά ότι, εκτελείτε ακριβώς το λογισμικό που δημιούργησαν. Απλώς πρέπει να αποκτήσετε τα δημόσια κλειδιά που χρησιμοποιούνται από τους προγραμματιστές, τα οποία μπορούν να βρεθούν στις σελίδες κυκλοφορίας πελατών ή στην τεκμηρίωση. Μετά τη λήψη της κυκλοφορίας του πελάτη και της υπογραφής του, μπορείτε να χρησιμοποιήσετε μια υλοποίηση PGP, π.χ. GnuPG για να τα επαληθεύσετε εύκολα. Ελέγξτε ένα σεμινάριο σχετικά με την επαλήθευση λογισμικού ανοιχτού κώδικα, χρησιμοποιώντας gpg
σε linux ή Windows/MacOS.
Μια άλλη μορφή επαλήθευσης είναι να βεβαιωθείτε ότι το hash, ένα μοναδικό κρυπτογραφημένο αποτύπωμα, του λογισμικού που κατεβάσατε ταιριάζει με αυτό που παρέχουν οι προγραμματιστές. Αυτό είναι ακόμα πιο εύκολο από τη χρήση PGP και ορισμένοι πελάτες προσφέρουν μόνο αυτήν την επιλογή. Απλώς εκτελέστε τη συνάρτηση hash στο κατεβασμένο λογισμικό και συγκρίνετέ τη με αυτή από τη σελίδα κυκλοφορίας. Για παράδειγμα:
1sha256sum teku-22.6.1.tar.gz239b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde
Εγκατάσταση εφαρμογής πελάτη
Μετά την εγκατάσταση, τη λήψη ή τη μεταγλώττιση του λογισμικού πελάτη, είστε έτοιμοι να το εκτελέσετε. Αυτό σημαίνει μόνο ότι πρέπει να εκτελεστεί με τη σωστή διαμόρφωση. Οι πελάτες προσφέρουν πλούσιες επιλογές διαμόρφωσης, οι οποίες μπορούν να ενεργοποιήσουν διάφορες λειτουργίες.
Ας ξεκινήσουμε με επιλογές που μπορούν να επηρεάσουν σημαντικά την απόδοση του πελάτη και τη χρήση δεδομένων. Οι τρόποι συγχρονισμού αντιπροσωπεύουν διαφορετικές μεθόδους λήψης και επαλήθευσης δεδομένων της κρυπτοαλυσίδας. Πριν ξεκινήσετε τον κόμβο, θα πρέπει να αποφασίσετε ποιο δίκτυο και μέθοδο συγχρονισμού θα χρησιμοποιήσετε. Τα πιο σημαντικά πράγματα που πρέπει να λάβετε υπόψη είναι ο χώρος στο δίσκο και ο χρόνος συγχρονισμού που θα χρειαστεί ο πελάτης. Δώστε προσοχή στα έγγραφα του πελάτη για να προσδιορίσετε ποια λειτουργία συγχρονισμού είναι η προεπιλεγμένη. Εάν αυτό δε σας ταιριάζει, επιλέξτε ένα άλλο με βάση το επίπεδο ασφάλειας, τα διαθέσιμα δεδομένα και το κόστος. Εκτός από τον αλγόριθμο συγχρονισμού, μπορείτε επίσης να ορίσετε την περικοπή διαφορετικών τύπων παλαιών δεδομένων. Η περικοπή επιτρέπει τη διαγραφή παρωχημένων δεδομένων, π.χ. την κατάργηση κόμβων τύπου κατάστασης που είναι απρόσιτοι από πρόσφατα μπλοκ.
Άλλες βασικές επιλογές διαμόρφωσης είναι, π.χ. η επιλογή ενός δικτύου - Mainnet ή testnets, η ενεργοποίηση του τελικού σημείου HTTP για RPC ή WebSockets, κ.λπ. Μπορείτε να βρείτε όλες τις λειτουργίες και τις επιλογές στην τεκμηρίωση του πελάτη. Διάφορες διαμορφώσεις πελατών μπορούν να οριστούν εκτελώντας τον πελάτη με τις αντίστοιχες σημάνσεις απευθείας στη γραμμή εντολών ή στο αρχείο διαμόρφωσης. Κάθε πελάτης είναι λίγο διαφορετικός, ανατρέξτε πάντα στην επίσημη τεκμηρίωση ή στη σελίδα βοήθειας για λεπτομέρειες σχετικά με τις επιλογές διαμόρφωσης.
Για σκοπούς δοκιμής, μπορεί να προτιμάτε να εκτελέσετε έναν πελάτη σε ένα από τα δίκτυα δοκιμών. Δείτε μια επισκόπηση των υποστηριζόμενων δικτύων.
Παραδείγματα εκτέλεσης πελατών εκτέλεσης με βασική διαμόρφωση μπορούν να βρεθούν στην επόμενη ενότητα.
Εκκίνηση του πελάτη εκτέλεσης
Πριν ξεκινήσετε το λογισμικό πελάτη Ethereum, εκτελέστε έναν τελευταίο έλεγχο ότι το περιβάλλον σας είναι έτοιμο. Για παράδειγμα, βεβαιωθείτε ότι:
- Υπάρχει αρκετός διαθέσιμος χώρος στο δίσκο λαμβάνοντας υπόψη το επιλεγμένο δίκτυο και τη λειτουργία συγχρονισμού.
- Η μνήμη και η CPU δε διακόπτονται από άλλα προγράμματα.
- Το λειτουργικό σύστημα είναι στην πιο πρόσφατη έκδοση.
- Το σύστημα έχει τη σωστή ώρα και ημερομηνία.
- Ο δρομολογητής και το τείχος προστασίας επιτρέπουν συνδέσεις σε θύρες ακρόασης. Από προεπιλογή, οι πελάτες Ethereum χρησιμοποιούν μια θύρα ακρόασης (TCP) και μια θύρα επικοινωνίας (UDP) και οι δύο στην 30303 από προεπιλογή.
Εκτελέστε πρώτα τον πελάτη σας σε ένα δίκτυο δοκιμών για να βεβαιωθείτε ότι όλα λειτουργούν σωστά.
Πρέπει να δηλώσετε τυχόν ρυθμίσεις πελάτη που δεν είναι προεπιλεγμένες στην αρχή. Μπορείτε να χρησιμοποιήσετε σημάνσεις ή το αρχείο διαμόρφωσης για να δηλώσετε τη διαμόρφωση που προτιμάτε. Το σύνολο χαρακτηριστικών και η σύνταξη παραμέτρων για κάθε πελάτη διαφέρει. Ελέγξτε την τεκμηρίωση του πελάτη σας για τις λεπτομέρειες.
Οι πελάτες εκτέλεσης και συναίνεσης επικοινωνούν μέσω ενός επαληθευμένου τερματικού σημείου που καθορίζεται στο Engine API. Για να συνδεθεί με έναν πελάτη συναίνεσης, ο πελάτης εκτέλεσης πρέπει να δημιουργήσει ένα jwtsecret
σε μια γνωστή διαδρομή. Για λόγους ασφάλειας και σταθερότητας, οι πελάτες θα πρέπει να εκτελούνται στον ίδιο υπολογιστή και οι δύο πελάτες πρέπει να γνωρίζουν αυτήν τη διαδρομή καθώς χρησιμοποιείται για τον έλεγχο ταυτότητας μιας τοπικής σύνδεσης RPC μεταξύ τους. Ο πελάτης εκτέλεσης πρέπει επίσης να ορίσει μια θύρα ακρόασης για πιστοποιημένα API.
Αυτό το κρυπτονόμισμα δημιουργείται αυτόματα από το λογισμικό πελάτη, αλλά σε ορισμένες περιπτώσεις, ίσως χρειαστεί να το κάνετε μόνοι σας. Μπορείτε να το δημιουργήσετε χρησιμοποιώντας το OpenSSL:
1openssl rand -hex 32 > jwtsecret
Εκτέλεση ενός πελάτη εκτέλεσης
Αυτή η ενότητα θα σας καθοδηγήσει στην εκκίνηση των πελατών εκτέλεσης. Χρησιμεύει μόνο ως παράδειγμα μιας βασικής διαμόρφωσης, η οποία θα ξεκινήσει τον πελάτη με αυτές τις ρυθμίσεις:
- Καθορίζει το δίκτυο στο οποίο θα συνδεθείτε, το Mainnet στα παραδείγματά μας
- Μπορείτε να επιλέξετε ένα από τα δίκτυα δοκιμών για αρχικό έλεγχο της εγκατάστασής σας
- Καθορίζει τον κατάλογο δεδομένων, όπου θα αποθηκεύονται όλα τα δεδομένα, συμπεριλαμβανομένης του blockchain
- Φροντίστε να αντικαταστήσετε τη διαδρομή με μια πραγματική π.χ. δείχνοντας την εξωτερική σας μονάδα δίσκου
- Ενεργοποιεί τις διεπαφές για την επικοινωνία με τον πελάτη
- Συμπεριλαμβάνει το JSON-RPC και Engine API για επικοινωνία με πελάτη συναίνεσης
- Καθορίζει τη διαδρομή προς
jwtsecret
για πιστοποιημένο API- Βεβαιωθείτε ότι έχετε αντικαταστήσει τη διαδρομή του παραδείγματος με μια πραγματική, στην οποία μπορούν να έχουν πρόσβαση οι πελάτες, π.χ.
/tmp/jwtsecret
- Βεβαιωθείτε ότι έχετε αντικαταστήσει τη διαδρομή του παραδείγματος με μια πραγματική, στην οποία μπορούν να έχουν πρόσβαση οι πελάτες, π.χ.
Παρακαλούμε λάβετε υπόψη ότι, αυτό είναι απλώς ένα βασικό παράδειγμα καθώς όλες οι άλλες ρυθμίσεις θα οριστούν από προεπιλογή. Προσέξτε την τεκμηρίωση κάθε πελάτη για να μάθετε για τις προεπιλεγμένες τιμές, τις ρυθμίσεις και τις δυνατότητες. Για περισσότερες δυνατότητες, για παράδειγμα για εκτέλεση επικυρωτών, παρακολούθηση κ.λπ., ανατρέξτε στην τεκμηρίωση του συγκεκριμένου πελάτη.
Σημειώστε ότι οι αντίστροφες κάθετες
\
στα παραδείγματα είναι μόνο για λόγους μορφοποίησης, οι σημάνσεις διαμόρφωσης μπορούν να οριστούν σε μία γραμμή.
Εκτέλεση Besu
Αυτό το παράδειγμα ξεκινά το Besu στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ σε προεπιλεγμένη μορφή στο /data/ethereum
, ενεργοποιεί το JSON-RPC και τη μηχανή RPC για σύνδεση πελάτη συναίνεσης. Η μηχανή API ελέγχεται με το διακριτικό jwtsecret
και επιτρέπονται μόνο κλήσεις από το localhost
.
1besu --network=mainnet \2 --data-path=/data/ethereum \3 --rpc-http-enabled=true \4 --engine-rpc-enabled=true \5 --engine-host-allowlist="*" \6 --engine-jwt-enabled=true \7 --engine-jwt-secret=/path/to/jwtsecret
Το Besu διαθέτει επίσης μια επιλογή βοηθού εκκίνησης που θα σας κάνει μια σειρά ερωτήσεων και θα δημιουργήσει το αρχείο διαμόρφωσης. Εκτελέστε τον διαδραστικό βοηθό εκκίνησης χρησιμοποιώντας:
1besu --Xlauncher
Η τεκμηρίωση του Besu περιέχει πρόσθετες επιλογές και λεπτομέρειες διαμόρφωσης.
Εκτέλεση Erigon
Αυτό το παράδειγμα ξεκινά το Erigon στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ στο /data/ethereum
, ενεργοποιεί το JSON-RPC, ορίζει ποιοι χώροι ονομάτων επιτρέπονται και ενεργοποιεί την έλεγχο ταυτότητας για τη σύνδεση του πελάτη συναίνεσης, που ορίζεται από τη διαδρομή jwtsecret
.
1erigon --chain mainnet \2 --datadir /data/ethereum \3 --http --http.api=engine,eth,web3,net \4 --authrpc.jwtsecret=/path/to/jwtsecret
Το Erigon από προεπιλογή εκτελεί πλήρη συγχρονισμό με 8GB HDD, το οποίο θα έχει ως αποτέλεσμα περισσότερα από 2TB αρχείου δεδομένων. Βεβαιωθείτε ότι το datadir
παραπέμπει στο δίσκο με αρκετό ελεύθερο χώρο ή εξετάστε τη σήμανση --prune
που μπορεί να περικόψει διαφορετικούς τύπους δεδομένων. Ελέγξτε το --help
του Erigon για να μάθετε περισσότερα.
Εκτέλεση Geth
Αυτό το παράδειγμα ξεκινά το Geth στο Mainnet, αποθηκεύει δεδομένα αλυσίδας μπλοκ στο /data/ethereum
, ενεργοποιεί το JSON-RPC και ορίζει ποιοι χώροι ονομάτων επιτρέπονται. Επίσης, ενεργοποιεί τον έλεγχο ταυτότητας για τη σύνδεση του πελάτη συναίνεσης, απαιτεί διαδρομή προς το jwtsecret
και επίσης ορίζει ποιες συνδέσεις επιτρέπονται, για το παράδειγμά μας μόνο από το localhost
.
1geth --mainnet \2 --datadir "/data/ethereum" \3 --http --authrpc.addr localhost \4 --authrpc.vhosts="localhost" \5 --authrpc.port 85516 --authrpc.jwtsecret=/path/to/jwtsecret
Ελέγξτε τα έγγραφα για όλες τις επιλογές διαμόρφωσης και μάθετε περισσότερα για την εκτέλεση του Geth με έναν πελάτη συναίνεσης.
Εκτέλεση Nethermind
Το Nethermind προσφέρει διάφορες επιλογές εγκατάστασης. Το πακέτο έρχεται με διάφορα δυαδικά αρχεία, συμπεριλαμβανομένου ενός βοηθού εκκίνησης με καθοδηγούμενη εγκατάσταση, που θα σας βοηθήσει να δημιουργήσετε τη διαμόρφωση διαδραστικά. Εναλλακτικά, μπορείτε να βρείτε το Runner που είναι το ίδιο το εκτελέσιμο και μπορείτε απλώς να το εκτελέσετε με σήμανση διαμόρφωσης. Το JSON-RPC είναι ενεργοποιημένο από προεπιλογή. Το JSON-RPC είναι ενεργοποιημένο από προεπιλογή.
1Nethermind.Runner --config mainnet \2 --datadir /data/ethereum \3 --JsonRpc.JwtSecretFile=/path/to/jwtsecret
Τα έγγραφα του Nethermind προσφέρουν έναν πλήρη οδηγό για την εκτέλεση του Nethermind με πελάτη συναίνεσης.
Ένας πελάτης εκτέλεσης θα ξεκινήσει τις βασικές του λειτουργίες, τα επιλεγμένα τελικά σημεία και θα αρχίσει να αναζητά παρόμοιους χρήστες. Αφού ανακαλύψει με επιτυχία ομότιμους, ο πελάτης ξεκινά τον συγχρονισμό. Ο πελάτης εκτέλεσης θα αναμένει μια σύνδεση από τον πελάτη συναίνεσης. Τα τρέχοντα δεδομένα της αλυσίδας μπλοκ θα είναι διαθέσιμα μόλις ο πελάτης συγχρονιστεί με επιτυχία στην τρέχουσα κατάσταση.
Εκτέλεση Reth
Αυτό το παράδειγμα ξεκινά το Reth στο Mainnet, χρησιμοποιώντας την προεπιλεγμένη τοποθεσία δεδομένων. Ενεργοποιεί την έλεγχο ταυτότητας JSON-RPC και Engine RPC για τη σύνδεση του πελάτη συναίνεσης, ο οποίος ορίζεται από τη διαδρομή jwtsecret
, με μόνο κλήσεις από το localhost
να επιτρέπονται.
1reth node \2 --authrpc.jwtsecret /path/to/jwtsecret \3 --authrpc.addr 127.0.0.1 \4 --authrpc.port 8551
Δείτε την ενότητα Ρυθμίζοντας το Reth για να μάθετε περισσότερα για τους προεπιλεγμένους καταλόγους δεδομένων. Η τεκμηρίωση του Reth περιέχει πρόσθετες επιλογές και λεπτομέρειες ρύθμισης των παραμέτρων.
Εκκίνηση του πελάτη συναίνεσης
Ο πελάτης συναίνεσης πρέπει να ξεκινήσει με τη σωστή ρύθμιση θύρας για να δημιουργήσει μια τοπική σύνδεση RPC στον πελάτη εκτέλεσης. Οι πελάτες συναίνεσης, πρέπει να εκτελούνται με τη θύρα του εκτελούμενου πελάτη που εκτίθεται, ως όρισμα ρύθμισης παραμέτρων.
Ο πελάτης συναίνεσης χρειάζεται επίσης τη διαδρομή προς το jwt-secret
του πελάτη εκτέλεσης, για να επαληθεύσει τη σύνδεση RPC μεταξύ τους. Παρόμοια με τα παραδείγματα εκτέλεσης παραπάνω, κάθε πελάτης συναίνεσης έχει μια σήμανση ρύθμισης παραμέτρων που παίρνει τη διαδρομή του αρχείου token jwt ως όρισμα. Αυτό πρέπει να είναι συνεπές με τη διαδρομή jwtsecret
που παρέχεται στον πελάτη εκτέλεσης.
Εάν σχεδιάζετε να εκτελέσετε έναν επικυρωτή, βεβαιωθείτε ότι προσθέτετε μια σημαία ρύθμισης παραμέτρων που καθορίζει τη διεύθυνση Ethereum του παραλήπτη αμοιβών. Εδώ συγκεντρώνονται οι ανταμοιβές ether για τον επικυρωτή σας. Κάθε πελάτης συναίνεσης έχει μια επιλογή, π.χ. --suggested-fee-recipient=0xabcd1
, που παίρνει μια διεύθυνση Ethereum ως όρισμα.
Όταν ξεκινάτε έναν κόμβο Beacon σε ένα δίκτυο δοκιμών, μπορείτε να εξοικονομήσετε σημαντικό χρόνο συγχρονισμού χρησιμοποιώντας ένα δημόσιο τελικό σημείο για συγχρονισμό.
Εκτέλεση πελάτη συναίνεσης
Εκτέλεση Lighthouse
Πριν εκτελέσετε το Lighthouse, μάθετε περισσότερα για το πώς να το εγκαταστήσετε και να το ρυθμίσετε στο Lighthouse Book.
1lighthouse beacon_node \2 --network mainnet \3 --datadir /data/ethereum \4 --http \5 --execution-endpoint http://127.0.0.1:8551 \6 --execution-jwt /path/to/jwtsecret
Εκτέλεση Lodestar
Εγκαταστήστε το λογισμικό Lodestar μεταγλωτίζοντάς το ή κατεβάζοντας την εικόνα Docker. Μάθετε περισσότερα στο αρχείο για έναν πιο ολοκληρωμένο οδηγό εγκατάστασης.
1lodestar beacon \2 --rootDir="/data/ethereum" \3 --network=mainnet \4 --eth1.enabled=true \5 --execution.urls="http://127.0.0.1:8551" \6 --jwt-secret="/path/to/jwtsecret"
Εκτέλεση Nimbus
Το Nimbus έρχεται τόσο με πελάτη συναίνεσης όσο και με πελάτη εκτέλεσης. Μπορεί να εκτελεστεί σε διάφορες συσκευές ακόμα και με πολύ μέτρια υπολογιστική ισχύ. Μετά την εγκατάσταση των εξαρτήσεων και του ίδιου του Nimbus, μπορείτε να εκτελέσετε τον πελάτη συναίνεσης του:
1nimbus_beacon_node \2 --network=mainnet \3 --web3-url=http://127.0.0.1:8551 \4 --rest \5 --jwt-secret="/path/to/jwtsecret"
Εκτέλεση Prysm
Το Prysm διαθέτει σενάριο που επιτρέπει την εύκολη αυτόματη εγκατάσταση. Λεπτομέρειες μπορείτε να βρείτε στο αρχείο του Prysm docs.
1./prysm.sh beacon-chain \2 --mainnet \3 --datadir /data/ethereum \4 --execution-endpoint=http://localhost:8551 \5 --jwt-secret=/path/to/jwtsecret
Εκτέλεση Teku
1teku --network mainnet \2 --data-path "/data/ethereum" \3 --ee-endpoint http://localhost:8551 \4 --ee-jwt-secret-file "/path/to/jwtsecret"
Όταν ένας πελάτης συναίνεσης συνδεθεί στον πελάτη εκτέλεσης για να διαβάσει το συμβόλαιο κατάθεσης και να αναγνωρίσει τους επικυρωτές, συνδέεται επίσης με άλλους ομότιμους κόμβους Beacon και ξεκινά τον συγχρονισμό των θέσεων συναίνεσης από τη γένεση. Μόλις ο κόμβος Beacon φτάσει στην τρέχουσα εποχή, το Beacon API γίνεται διαθέσιμο για τους επικυρωτές σας. Μάθετε περισσότερα για τα Beacon Node API.
Προσθήκη επικυρωτών
Ένας πελάτης συναίνεσης λειτουργεί ως κόμβος Beacon για τη σύνδεση των επικυρωτών. Κάθε πελάτης συναίνεσης διαθέτει το δικό του λογισμικό επικύρωσης, το οποίο περιγράφεται λεπτομερώς στην αντίστοιχη τεκμηρίωση του.
Η εκτέλεση του δικού σας επικυρωτή επιτρέπει την ιδιωτική αποθήκευση κεφαλαίου, την πιο πρόσφορη και αξιόπιστη μέθοδο για την υποστήριξη του δικτύου Ethereum. Ωστόσο, αυτό απαιτεί την κατάθεση 32 ETH. Για να εκτελέσετε έναν επικυρωτή στον δικό σας κόμβο με μικρότερο ποσό, ίσως σας ενδιαφέρει μια αποκεντρωμένη ομάδα με διαχειριστές κόμβων χωρίς ανάγκη αδειοδότησης, όπως η Rocket Pool.
Ο ευκολότερος τρόπος για να ξεκινήσετε με την αποθήκευση κεφαλαίου και τη δημιουργία κλειδιού επικυρωτή, είναι να χρησιμοποιήσετε το Holesky Testnet Staking Launchpad, το οποίο σας επιτρέπει να ελέγξετε τη ρύθμισή σας εκτελώντας κόμβους στο Holesky. Όταν είστε έτοιμοι για το Mainnet, μπορείτε να επαναλάβετε αυτά τα βήματα χρησιμοποιώντας το Mainnet Staking Launchpad.
Ανατρέξτε στη σελίδα αποθήκευσης κεφάλαιου για μια επισκόπηση των επιλογών.
Χρήση του κόμβου
Οι πελάτες εκτέλεσης προσφέρουν τελικά σημεία API RPC που μπορείτε να χρησιμοποιήσετε για να υποβάλετε συναλλαγές, να αλληλεπιδράσετε ή να αναπτύξετε έξυπνα συμβόλαια στο δίκτυο Ethereum με διάφορους τρόπους:
- Χειροκίνητη κλήση τους με κατάλληλο πρωτόκολλο (π.χ. χρήση
curl
) - Σύνδεση με παρεχόμενη κονσόλα (π.χ.
geth attach
) - Χρήση τους σε εφαρμογές χρησιμοποιώντας βιβλιοθήκες web3, π.χ. web3.py, ethers
Διαφορετικοί πελάτες έχουν διαφορετικές υλοποιήσεις των τελικών σημείων RPC. Αλλά υπάρχει ένα τυπικό JSON-RPC που μπορείτε να χρησιμοποιήσετε με κάθε πελάτη. Για μια επισκόπηση διαβάστε τα έγγραφα JSON-RPC. Οι εφαρμογές που χρειάζονται πληροφορίες από το δίκτυο Ethereum μπορούν να χρησιμοποιήσουν αυτό το RPC. Για παράδειγμα, το δημοφιλές πορτοφόλι MetaMask σάς επιτρέπει να συνδεθείτε στο δικό σας τελικό σημείο RPC, το οποίο έχει ισχυρά οφέλη για την ιδιωτικότητα και την ασφάλεια.
Όλοι οι πελάτες συναίνεσης εκθέτουν ένα Beacon API που μπορεί να χρησιμοποιηθεί για να ελέγξετε την κατάσταση του πελάτη συναίνεσης ή να κατεβάσετε μπλοκ και δεδομένα συναίνεσης στέλνοντας αιτήματα χρησιμοποιώντας εργαλεία όπως το Curl. Περισσότερες πληροφορίες σχετικά με αυτό μπορείτε να βρείτε στην τεκμηρίωση για κάθε πελάτη συναίνεσης.
Πρόσβαση RPC
Η προεπιλεγμένη θύρα για τον πελάτη εκτέλεσης JSON-RPC είναι η 8545
αλλά μπορείτε να τροποποιήσετε τις θύρες των τοπικών τελικών σημείων στη ρύθμιση παραμέτρων. Από προεπιλογή, η διεπαφή RPC είναι προσβάσιμη μόνο στο localhost του υπολογιστή σας. Για να την κάνετε απομακρυσμένα προσβάσιμη, μπορεί αν θέλετε να την εκθέσετε στο κοινό αλλάζοντας τη διεύθυνση σε 0.0.0.0
. Αυτό θα την κάνει προσβάσιμη μέσω τοπικού δικτύου και δημόσιων διευθύνσεων IP. Στις περισσότερες περιπτώσεις θα χρειαστεί επίσης να ρυθμίσετε τη προώθηση θυρών στον δρομολογητή σας.
Προσέξτε όταν εκθέτετε θύρες στο διαδίκτυο, καθώς αυτό θα επιτρέψει σε οποιονδήποτε στο διαδίκτυο να ελέγξει τον κόμβο σας. Κακόβουλοι χρήστες θα μπορούσαν να έχουν πρόσβαση στον κόμβο σας για να καταρρίψουν το σύστημά σας ή να κλέψουν τα χρήματά σας εάν χρησιμοποιείτε τον πελάτη σας ως πορτοφόλι.
Ένας τρόπος να το αντιμετωπίσετε αυτό είναι να αποτρέψετε την τροποποίηση πιθανώς επιβλαβών μεθόδων RPC. Για παράδειγμα, με το Geth, μπορείτε να δηλώσετε τροποποιήσιμες μεθόδους με μια σήμανση: --http.api web3,eth,txpool
.
Η πρόσβαση στη διεπαφή RPC μπορεί να επεκταθεί μέσω της ανάπτυξης API επιπέδου άκρου ή εφαρμογών διακομιστή ιστού, όπως το Nginx και τη σύνδεσή τους με την τοπική διεύθυνση και θύρα του πελάτη σας. Η αξιοποίηση ενός ενδιάμεσου επιπέδου μπορεί επίσης να επιτρέψει στους προγραμματιστές τη δυνατότητα ρύθμισης ενός πιστοποιητικού για ασφαλείς συνδέσεις https
στη διεπαφή RPC.
Η ρύθμιση ενός διακομιστή ιστού, ενός διαμεσολαβητή ή ενός εξωτερικού API REST δεν είναι ο μόνος τρόπος για να παρέχετε πρόσβαση στο τελικό σημείο RPC του κόμβου σας. Ένας άλλος τρόπος διατήρησης της ιδιωτικότητας για τη ρύθμιση ενός δημόσια προσβάσιμου τελικού σημείου, είναι να φιλοξενήσετε τον κόμβο στη δική σας υπηρεσία onion Tor. Αυτό θα σας επιτρέψει να φτάσετε στο RPC εκτός του τοπικού σας δικτύου χωρίς στατική δημόσια διεύθυνση IP ή ανοιχτές θύρες. Ωστόσο, χρησιμοποιώντας αυτή τη ρύθμιση μπορεί να επιτρέπεται μόνο η πρόσβαση στο τελικό σημείο RPC μέσω του δικτύου Tor, το οποίο δεν υποστηρίζεται από όλες τις εφαρμογές και μπορεί να οδηγήσει σε προβλήματα σύνδεσης.
Για να το κάνετε αυτό, πρέπει να δημιουργήσετε τη δική σας υπηρεσία onion. Ελέγξτε την τεκμηρίωση για τη ρύθμιση της υπηρεσίας onion για να φιλοξενήσετε τη δική σας. Μπορείτε να το κατευθύνετε σε έναν διακομιστή ιστού με διακομιστή μεσολάβησης στη θύρα RPC ή απευθείας στο RPC.
Τέλος, ένας από τους πιο δημοφιλείς τρόπους παροχής πρόσβασης σε εσωτερικά δίκτυα είναι μέσω μιας σύνδεσης VPN. Ανάλογα με τη χρήση σας και τον αριθμό των χρηστών που χρειάζονται πρόσβαση στον κόμβο σας, μια ασφαλής σύνδεση VPN μπορεί να είναι μια επιλογή. Το OpenVPN είναι ένα πλήρες SSL VPN που υλοποιεί επέκταση ασφαλούς δικτύου OSI επιπέδου 2 ή 3 χρησιμοποιώντας το βιομηχανικό πρότυπο πρωτόκολλο SSL/TLS, υποστηρίζει ευέλικτες μεθόδους ελέγχου ταυτότητας πελάτη με βάση πιστοποιητικά, έξυπνες κάρτες και/ή διαπιστευτήρια ονόματος χρήστη/κωδικού πρόσβασης και επιτρέπει πολιτικές ελέγχου πρόσβασης συγκεκριμένων χρηστών ή ομάδων χρησιμοποιώντας κανόνες firewall που εφαρμόζονται στην εικονική διεπαφή VPN.
Λειτουργία του κόμβου
Θα πρέπει να παρακολουθείτε τακτικά τον κόμβο σας για να βεβαιωθείτε ότι λειτουργεί σωστά. Ίσως χρειαστεί να κάνετε περιστασιακή συντήρηση.
Διατήρηση ενός κόμβου συνδεδεμένου στο διαδίκτυο
Ο κόμβος σας δε χρειάζεται να είναι συνεχώς συνδεδεμένος, αλλά θα πρέπει να τον διατηρείτε όσο το δυνατόν περισσότερο σε σύνδεση για να διατηρείται συγχρονισμένος με το δίκτυο. Μπορείτε να το κλείσετε για να το επανεκκινήσετε, αλλά έχετε υπόψη σας ότι:
- Ο τερματισμός μπορεί να διαρκέσει μερικά λεπτά εάν η πρόσφατη κατάσταση εξακολουθεί να γράφεται στο δίσκο.
- Ο αναγκαστικός τερματισμός λειτουργίας μπορεί να βλάψει τη βάση δεδομένων, απαιτώντας τον επανασυγχρονισμό ολόκληρου του κόμβου.
- Ο πελάτης σας δε θα συγχρονιστεί με το δίκτυο και θα χρειαστεί να γίνει εκ νέου συγχρονισμός όταν κάνετε επανεκκίνηση. Ενώ ο κόμβος μπορεί να ξεκινήσει τον συγχρονισμό από τη στιγμή του τελευταίου τερματισμού, η διαδικασία μπορεί να πάρει χρόνο ανάλογα με το πόσο διάστημα ήταν εκτός σύνδεσης.
Αυτό δεν ισχύει για τους κόμβους επικύρωσης επιπέδου συναίνεσης. Η διακοπή του κόμβου σας θα επηρεάσει όλες τις υπηρεσίες που εξαρτώνται από αυτόν. Εάν εκτελείτε έναν κόμβο για σκοπούς αποθήκευσης κεφαλαίου, θα πρέπει να προσπαθήσετε να ελαχιστοποιήσετε τον χρόνο διακοπής όσο το δυνατόν περισσότερο.
Δημιουργία υπηρεσιών πελατών
Εξετάστε το ενδεχόμενο να δημιουργήσετε μια υπηρεσία για την αυτόματη εκτέλεση των πελατών σας κατά την εκκίνηση. Για παράδειγμα, σε διακομιστές Linux, καλή πρακτική θα ήταν να δημιουργήσετε μια υπηρεσία, π.χ. με systemd
, που εκτελεί τον πελάτη με σωστή διαμόρφωση, υπό έναν χρήστη με περιορισμένα προνόμια και επανεκκινεί αυτόματα.
Ενημέρωση εφαρμογής πελάτη
Πρέπει να διατηρείτε το λογισμικό του πελάτη σας ενημερωμένο με τις πιο πρόσφατες ενημερώσεις κώδικα ασφαλείας, δυνατότητες και EIPs. Ειδικά πριν από μια αναβάθμιση υλικών, βεβαιωθείτε ότι εκτελείτε τις σωστές εκδόσεις πελάτη.
Πριν από σημαντικές ενημερώσεις δικτύου, το EF δημοσιεύει μια ανάρτηση στο ιστολόγιο του. Μπορείτε να εγγραφείτε σε αυτές τις ανακοινώσεις για να λάβετε μια ειδοποίηση στο email σας όταν ο κόμβος σας χρειάζεται μια ενημέρωση.
Η ενημέρωση των πελατών είναι πολύ απλή. Κάθε πελάτης έχει συγκεκριμένες οδηγίες στην τεκμηρίωσή του, αλλά η διαδικασία είναι γενικά απλά να κατεβάσετε την πιο πρόσφατη έκδοση και να επανεκκινήσετε τον πελάτη με το νέο εκτελέσιμο αρχείο. Ο πελάτης θα πρέπει να συνεχίσει από το σημείο που σταμάτησε, αλλά με τις ενημερώσεις εφαρμοσμένες.
Κάθε υλοποίηση πελάτη, έχει μια αναγνώσιμη συμβολοσειρά έκδοσης που χρησιμοποιείται στο πρωτόκολλο peer-to-peer, αλλά είναι επίσης προσβάσιμη από τη γραμμή εντολών. Αυτή η έκδοση συμβολοσειρά επιτρέπει στους χρήστες να ελέγχουν ότι εκτελούν τη σωστή έκδοση και επιτρέπει στους εξερευνητές μπλοκ και άλλα αναλυτικά εργαλεία που ενδιαφέρονται, να ποσοτικοποιήσουν τη διανομή συγκεκριμένων πελατών στο δίκτυο. Ανατρέξτε στην τεκμηρίωση μεμονωμένου πελάτη για περισσότερες πληροφορίες σχετικά με τις έκδοση συμβολοσειρών.
Εκτέλεση πρόσθετων υπηρεσιών
Η εκτέλεση του δικού σας κόμβου σάς επιτρέπει να χρησιμοποιείτε υπηρεσίες που απαιτούν άμεση πρόσβαση στο RPC πελάτη Ethereum. Πρόκειται για υπηρεσίες που έχουν δημιουργηθεί πάνω από το Ethereum, όπως λύσεις επιπέδου 2, υποστήριξη για πορτοφόλια, εξερευνητές μπλοκ, εργαλεία προγραμματιστών και άλλες υποδομές Ethereum.
Παρακολούθηση του κόμβου
Για να παρακολουθείτε σωστά τον κόμβο σας, σκεφτείτε να συλλέξετε μετρήσεις. Οι πελάτες παρέχουν τελικά σημεία μετρήσεων, ώστε να μπορείτε να λαμβάνετε ολοκληρωμένα δεδομένα για τον κόμβο σας. Χρησιμοποιήστε εργαλεία όπως το InfluxDB ή το Prometheus για να δημιουργήσετε βάσεις δεδομένων τις οποίες μπορείτε να μετατρέψετε σε οπτικοποιήσεις και γραφήματα με λογισμικό όπως το Grafana. Υπάρχουν πολλές ρυθμίσεις για τη χρήση αυτού του λογισμικού και διαφορετικοί πίνακες εργαλείων Grafana για να οπτικοποιήσετε τον κόμβο σας και το δίκτυο στο σύνολό του. Για παράδειγμα, ρίξτε μια ματιά στο μάθημα παρακολούθησης του Geth.
Ως μέρος της παρακολούθησής σας, φροντίστε να παρακολουθείτε την απόδοση του μηχανήματος σας. Κατά τη διάρκεια του αρχικού συγχρονισμού του κόμβου σας, το λογισμικό πελάτη μπορεί να είναι πολύ βαρύ σε CPU και RAM. Εκτός από το Grafana, μπορείτε να χρησιμοποιήσετε τα εργαλεία που προσφέρει το λειτουργικό σας σύστημα, όπως htop
ή uptime
για να το κάνετε αυτό.
Περισσότερες πληροφορίες
- Οδηγοί αποθήκευσης κεφαλίου Ethereum - Somer Esat, συχνή ενημέρωση
- Οδηγός | Πώς να ρυθμίσετε έναν επικυρωτή για δέσμευση κεφαλαίου Ethereum στο mainnet – CoinCashew, που ενημερώνεται τακτικά
- Οδηγοί ETHStaker σχετικά με την εκτέλεση επικυρωτών σε δίκτυα δοκιμών – ETHStaker, ενημερώνεται τακτικά
- Συνήθεις ερωτήσεις συγχώνευσης για διαχειριστές κόμβων - Ιούλιος 2022
- Ανάλυση των απαιτήσεων υλικού για να είναι πλήρως έγκυρος κόμβος Ethereum – Albert Palau, 24 Σεπτεμβρίου 2018
- Εκτέλεση πλήρους κόμβου Ethereum: Οδηγός για τα ελάχιστα κίνητρα – Justin Leroux, 7 Νοεμβρίου 2019
- Εκτέλεση ενός κόμβου Hyperledger Besu στο Ethereum Mainnet: Οφέλη, Απαιτήσεις και Εγκατάσταση – Felipe Faraggi, 7 Μαΐου 2020
- Ανάπτυξη πελάτη Nethermind Ethereum με Στοίβα παρακολούθησης – Nethermind.eth, 8 Ιουλίου 2020