Εισαγωγή στα Ethereum Bootnodes
Όταν ένας νέος κόμβος ενταχθεί στο δίκτυο Ethereum, πρέπει να συνδεθεί με κόμβους που βρίσκονται ήδη στο δίκτυο προκειμένου να ανακαλύψει στη συνέχεια νέους ομότιμους. Αυτά τα σημεία εισόδου στο δίκτυο του Ethereum ονομάζονται bootnodes. Το λογισμικό πελάτη έχει συνήθως λίστα με καταχωρημένους bootnode. Αυτά τα bootnodes εκτελούνται συνήθως από την ομάδα devops του Ethereum Foundation ή από τις ίδιες τις ομάδες πελατών. Σημειώστε ότι τα bootnodes δεν είναι ίδια με τους στατικούς κόμβους. Οι στατικοί κόμβοι καλούνται ξανά και ξανά, ενώ τα bootnodes καλούνται μόνο εάν δεν υπάρχουν αρκετοί ομότιμοι για σύνδεση και ένας κόμβος χρειάζεται να εκκινήσει ορισμένες νέες συνδέσεις.
Σύνδεση σε ένα bootnode
Οι περισσότεροι πελάτες έχουν μια λίστα με ενσωματωμένα bootnodes, αλλά μπορεί επίσης να θέλετε να εκτελέσετε το δικό σας bootnode ή να χρησιμοποιήσετε έναν που δεν είναι μέρος της λίστας του πελάτη. Σε αυτήν την περίπτωση, μπορείτε να τα καθορίσετε κατά την εκκίνηση του πελάτη σας, ως εξής (το παράδειγμα είναι για την Geth, ελέγξτε την τεκμηρίωση του πελάτη σας):
1geth --bootnodes "enode://<node ID>@<IP address>:<port>"
Εκτέλεση bootnode
Οι bootnodes είναι πλήρεις κόμβοι που δε βρίσκονται πίσω από ένα NAT (Network Address Translation). Κάθε πλήρης κόμβος μπορεί να λειτουργήσει ως bootnode εφόσον είναι δημόσια διαθέσιμος.
Όταν ξεκινάτε έναν κόμβο, θα πρέπει να καταγράφει το enode σας, το οποίο είναι ένα δημόσιο αναγνωριστικό που μπορούν να χρησιμοποιήσουν άλλοι για να συνδεθούν στον κόμβο σας.
Το enode συνήθως αναδημιουργείται σε κάθε επανεκκίνηση, επομένως φροντίστε να δείτε την τεκμηρίωση του πελάτη σας σχετικά με τον τρόπο δημιουργίας ενός enode, για τον κόμβο εκκίνησης.
Για να είστε καλός bootnode, είναι καλή ιδέα να αυξήσετε τον μέγιστο αριθμό ομότιμων που μπορούν να συνδεθούν σε αυτό. Η εκτέλεση ενός bootnode με πολλούς ομότιμους θα αυξήσει σημαντικά την απαίτηση εύρους ζώνης.
Διαθέσιμα bootnodes
Μπορείτε να βρείτε μια λίστα με ενσωματωμένους bootnodes στο go-ethereum εδώ. Αυτά τα bootnodes διατηρούνται από το Ethereum Foundation και την ομάδα go-ethereum.
Υπάρχουν διαθέσιμες άλλες λίστες με bootnodes που διατηρούνται από εθελοντές. Φροντίστε να συμπεριλαμβάνετε πάντα τουλάχιστον έναν επίσημο bootnode, διαφορετικά μπορεί να δεχθείτε επίθεση με έκλειψη.