Ethereum Private Network - Δημιουργήστε το δικό σας Ethereum Blockchain!



Σε αυτόν τον οδηγό Ethereum Private Network, θα μάθετε πώς να δημιουργείτε το δικό σας Ethereum Blockchain και πώς να κάνετε μια συναλλαγή μεταξύ δύο λογαριασμών.

Στο προηγούμενο Εκμάθηση Truffle Ethereum , μάθατε για το Truffle Suite και δημιουργήσατε ένα Αιθέριο DApp. Για να αναπτύξετε μια σύνθετη εφαρμογή ethereum, θα θελήσετε να την εκτελέσετε σε ένα ιδιωτικό δίκτυο για να δείτε πώς λειτουργεί προτού την αναπτύξετε. Έτσι, σε αυτό το σεμινάριο ιδιωτικού δικτύου Ethereum, θα μάθετε πώς να δημιουργείτε ένα Ιδιωτικό δίκτυο Ethereum και πώς να κάνετε μια συναλλαγή μεταξύ δύο λογαριασμών.

Ενδιαφέρεστε για την ανάπτυξη Ethereum; Δείτε το Ζωντανό .





Εκπαιδευτικό ιδιωτικό δίκτυο Ethereum

Αυτά είναι τα θέματα που θα καλύψω σε αυτό το σεμινάριο:

Τι είναι το ιδιωτικό δίκτυο Ethereum;

Το Ethereum Private Network είναι ένα εντελώς ιδιωτικό Blockchain το οποίο είναι απομονωμένο από το δίκτυο Main Ethereum. Το Ethereum Private Network δημιουργήθηκε κυρίως από οργανισμούς για να περιορίσει τα δικαιώματα ανάγνωσης του Blockchain. Μόνο οι κόμβοι με τα σωστά δικαιώματα θα έχουν πρόσβαση σε αυτό το Blockchain. Οι κόμβοι σε αυτό το δίκτυο δεν είναι συνδεδεμένοι με τους κύριους κόμβους δικτύου και η εμβέλειά τους περιορίζεται μόνο σε αυτό το ιδιωτικό Blockchain.



Εκπαιδευτικό ιδιωτικό και δημόσιο -Ethereum Private Network - Edureka

Γιατί χρησιμοποιείται το ιδιωτικό δίκτυο Ethereum;

Το Ethereum Private Network χρησιμοποιείται από οργανισμούς για την αποθήκευση ιδιωτικών δεδομένων που δεν πρέπει να είναι ορατά σε άτομα εκτός του οργανισμού τους. Το Ethereum Private Network χρησιμοποιείται επίσης για δοκιμές και πειραματισμούς του Blockchain εάν κάποιος δεν θέλει να χρησιμοποιήσει τα δημόσια δίκτυα δοκιμών.

Χαρακτηριστικά του Ethereum Private Network

Όπως αναφέρθηκε στην προηγούμενη ενότητα, το Ethereum Private Network χρησιμοποιείται για σκοπούς δοκιμής. Γιατί λοιπόν κάποιος να πάρει το πρόβλημα να δημιουργήσει ένα νέο δίκτυο όταν υπάρχουν ήδη δημόσια δίκτυα δοκιμών; Λοιπόν, το Ethereum Private Network έχει το δικό του σύνολο χαρακτηριστικών όπως αναφέρεται παρακάτω:



  • Λειτουργεί ως κατανεμημένη βάση δεδομένων
  • Το Blockchain στο ιδιωτικό δίκτυο Ethereum μπορεί να περιέχει ιδιωτικά δεδομένα (επειδή το δίκτυο δεν είναι δημόσιο)
  • Η πρόσβαση μπορεί να βασίζεται σε δικαιώματα
  • Η πραγματοποίηση συναλλαγών μπορεί να είναι δωρεάν
  • Οι λογαριασμοί μπορούν να κατανεμηθούν με αιθέρεςαπό εμάς που δεν απαιτεί καν την αγορά εικονικών αιθέρων

Προχωρώντας, ας πάρουμε το πρακτικό μέρος αυτού του εκπαιδευτικού προγράμματος Ethereum Private Network.

Εγκατάσταση του Ethereum στο Ubuntu

Για να δημιουργήσουμε ένα ιδιωτικό δίκτυο Ethereum, πρέπει πρώτα να εγκαταστήσουμε το Ethereum στο σύστημά μας. Σε αυτήν την ενότητα του Ethereum Private Network Tutorial, θα μάθετε πώς να εγκαταστήσετε το Ethereum στο Ubuntu.

Για να εγκαταστήσετε το Ethereum, εκτελέστε τις ακόλουθες εντολές σε ένα τερματικό:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get ενημέρωση $ sudo apt-get install ethereum

Ολοκληρώθηκε! Αυτό θα εγκαταστήσει το Ethereum στο σύστημά σας.

Ας ξεκινήσουμε με τη δημιουργία Ιδιωτικού Δικτύου.

Επίδειξη: Δημιουργία ιδιωτικού δικτύου Ethereum και πραγματοποίηση συναλλαγής

Σε αυτό το πρόγραμμα εκμάθησης ιδιωτικών δικτύων Ethereum, θα στείλουμε αιθέρεςαπό έναν λογαριασμό στον άλλο και έτσι χρειαζόμαστε λογαριασμούς. Ας δούμε τώρα πώς να δημιουργούμε λογαριασμούς για το Blockchain μας.

Δημιουργία λογαριασμών για ιδιωτικό δίκτυο Ethereum

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

$ mkdir private-ethereum $ cd private-ethereum

Για να πραγματοποιήσουμε μια συναλλαγή, χρειαζόμαστε τουλάχιστον δύο λογαριασμούς: έναν παραλήπτη και έναν αποστολέα.

διαφορά μεταξύ υπερφόρτωσης μεθόδου και παράκαμψης μεθόδου

Για να δημιουργήσετε δύο λογαριασμούς, εκτελέστε την ακόλουθη εντολή δύο φορές:

$ geth --datadir ./datadir λογαριασμός νέος

Εισάγετε το φράση πρόσβασης για κάθε λογαριασμό όταν σας ζητηθεί. Μην ξεχάσετε αυτήν τη φράση πρόσβασης!

Μόλις αυτές οι εντολές εκτελεστούν με επιτυχία, θα δημιουργηθούν δύο λογαριασμοί και θα εμφανιστεί η διεύθυνση του λογαριασμού στην οθόνη.

Αποθηκεύστε αυτές τις διευθύνσεις κάπου γιατί θα τις χρησιμοποιούμε περαιτέρω.

Δημιουργία αρχείου Genesis

Ένα αρχείο Genesis περιέχει τις ιδιότητες που ορίζουν το Blockchain. Ένα αρχείο Genesis είναι το σημείο εκκίνησης του Blockchain και, επομένως, είναι υποχρεωτικό να δημιουργήσετε το αρχείο Genesis για να δημιουργήσετε ένα Blockchain. Τώρα, ας δημιουργήσουμε τη Γένεσηαρχείο.

Αρχικά, δημιουργήστε ένα αρχείο με το όνομα genesis.json

$ nano genesis.json

Και τώρα αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα σε αυτό το αρχείο:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'δυσκολία': '400', 'gasLimit': ' 2000000 ',' allow ': {' 82c440bba462220c9b54600e584373014706c177 ': {' υπόλοιπο ':' 100000000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ':00000000 '00000000

Σημείωση: Στον παραπάνω κωδικό, αντικαταστήστε τη διεύθυνση κάτω κατανομή ενότητα με τη διεύθυνση των λογαριασμών που δημιουργήσατε στο προηγούμενο βήμα.

Αποθηκεύστε το και βγείτε.

Επιτρέψτε μου να εξηγήσω εν συντομία το περιεχόμενο του αρχείου Genesis:

αλυσίδα - Αυτός είναι ο αριθμός αναγνώρισης αλυσίδας που χρησιμοποιείται για τη διάκριση μεταξύ Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - αυτές οι ιδιότητες σχετίζονται με τη διαμόρφωση αλυσίδων και την έκδοση. Δεν τα χρειαζόμαστε για το σεμινάριό μας, οπότε ας τα ρυθμίσουμε στο 0.
δυσκολία - Αυτός ο αριθμός αποφασίζει πόσο δύσκολο θα είναι το δικό μου μπλοκ. Για ιδιωτικά δίκτυα, είναι καλό να ορίσετε έναν μικρότερο αριθμό καθώς σας επιτρέπει να ορυχεία μπλοκ γρήγορα, με αποτέλεσμα γρήγορες συναλλαγές.
όριο αερίου - Αυτός ο αριθμός είναι η συνολική ποσότητα αερίου που μπορεί να χρησιμοποιηθεί σε κάθε μπλοκ. Δεν θέλουμε το δίκτυό μας να φτάσει το όριο, γι 'αυτό το θέσαμε υψηλό.
κατανομή - Αυτό το μέρος χρησιμοποιείται για την εκχώρηση αιθέρων σε ήδη δημιουργημένους λογαριασμούς.

Το αρχείο Genesis είναι έτοιμο. Τώρα, ήρθε η ώρα να ξεκινήσετε το Blockchain.

Instantiating Data Directory

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

$ geth --datadir ./myDataDir init ./genesis.json

Με επιτυχία, θα πρέπει να δείτε την ακόλουθη έξοδο:

Με το Data Directory instantiated, μπορούμε τώρα να ξεκινήσουμε το Blockchain.

Ξεκινώντας το Ethereum Private Blockchain

Για να ξεκινήσετε το Blockchain, εκτελέστε την ακόλουθη εντολή:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Ολοκληρώθηκε! Το ιδιωτικό σας Ethereum Blockchain είναι σε λειτουργία και λειτουργεί.

Στην παραπάνω εντολή, στέλνουμε όλα τα αρχεία καταγραφής σε ένα ξεχωριστό αρχείο που ονομάζεται Eth.log . Το Geth θα δημιουργήσει αυτόματα ένα νέο αρχείο εάν δεν βρεθεί.

Η έξοδος αυτού του κώδικα θα πρέπει να μοιάζει με αυτό:

Τώρα, μπήκαμε στο ναι κονσόλα όπου μπορούμε να εκτελέσουμε εντολές για το Blockchain μας.

Ανάγνωση αρχείων καταγραφής

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

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

$ tail -f Eth.log

Τώρα μπορείτε να δείτε τα αρχεία καταγραφής στο τερματικό. Αυτά τα αρχεία καταγραφής ενημερώνονται δυναμικά όταν υπάρχει κάποια δραστηριότητα στο Blockchain.

Εισαγωγή λογαριασμών σε ιδιωτικό δίκτυο

Μπορεί να θυμάστε ότι δημιουργήσαμε δύο λογαριασμούς για την πραγματοποίηση συναλλαγών. Όμως, δεν προσθέσαμε αυτούς τους λογαριασμούς στο δίκτυό μας. Έτσι, σε αυτήν την ενότητα του οδηγού Ethereum Private Network, θα σας πω πώς να εισαγάγετε τους λογαριασμούς.

Όταν δημιουργούμε έναν λογαριασμό, όλες οι λεπτομέρειες του λογαριασμού αποθηκεύονται σε ένα UTC αρχείο στον κατάλογο που αναφέρεται κατά τη δημιουργία λογαριασμού (διαδρομή: ./datadir/keystore ). Για να εισαγάγουμε τους λογαριασμούς, πρέπει να αντιγράψουμε αυτά τα αρχεία και να επικολλήσουμε στο κατάστημα κλειδιών στον κατάλογο δεδομένων(μονοπάτι: ./myDataDir/keystore )

Αυτό είναι όλο! Οι λογαριασμοί εισάγονται. Απλό, έτσι δεν είναι; Για να επαληθεύσουμε την εισαγωγή, θα εκτελέσουμε την ακόλουθη εντολή στο ναι κονσόλα.

> eth.accounts

Αυτό θα εμφανίσει μια λίστα με όλους τους διαθέσιμους λογαριασμούς.

Για να ελέγξουμε το υπόλοιπο αυτών των λογαριασμών, θα χρησιμοποιήσουμε την ακόλουθη εντολή:

> web3.fromWei (eth.getBalance (), 'αιθέρας')

Είμαστε έτοιμοι με όλα όσα απαιτούνται για την πραγματοποίηση συναλλαγής. Γιατί να περιμένεις? Ας το κάνουμε!

Κάνοντας μια συναλλαγή

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

Η σύνταξη για την αποστολή αιθέρων έχει ως εξής:

> eth.sendTransaction ({από: 'address', to: 'address', value: web3.toWei (ποσό, 'ether')})

Θα στείλουμε 1000 αιθέρες από τον λογαριασμό 1 στον λογαριασμό 2 χρησιμοποιώντας την ακόλουθη εντολή:

> eth.sendTransaction ({από: eth.accounts [0], to: eth.accounts [1], τιμή: web3.toWei (1000, 'ether')})

Δεν λειτούργησε; Μην ανησυχείς. Δεν λειτούργησε και για μένα. Αυτό συμβαίνει επειδή ο λογαριασμός είναι κλειδωμένος από προεπιλογή και δεν επιτρέπει συναλλαγές.

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

personal.unlockAccount (eth.accounts [0], '')

Τώρα θα στείλουμε αιθέρεςεπιτυχώς:

διαφορά μεταξύ εργαλείων και επεκτάσεων
> eth.sendTransaction ({από: eth.accounts [0], to: eth.accounts [1], τιμή: web3.toWei (1000, 'ether')})

Αυτό θα πρέπει να επιστρέψει ένα αναγνωριστικό συναλλαγής.

Ολοκληρώθηκε! Πραγματοποιήσατε με επιτυχία μια συναλλαγή!

Για να επαληθεύσετε τη συναλλαγή, ας ελέγξουμε το υπόλοιπο και στους δύο λογαριασμούς.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'αιθέρας')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'αιθέρας')

Ναι! Μπορούμε να δούμε ότι 1000 αιθέρεςεστάλησαν από έναν λογαριασμό στον άλλο!

Συγχαρητήρια! Έχετε δημιουργήσει ένα ιδιωτικό δίκτυο Ethereum και πραγματοποιήσατε μια συναλλαγή. Ελπίζω ότι αυτό το σεμινάριο Ethereum Private Network ήταν ενημερωτικό και σας βοήθησε να κατανοήσετε σχετικά με το Ethereum Private Network. Τώρα, προχωρήστε και δοκιμάστε να πειραματιστείτε με το πρόσφατα δημιουργημένο ιδιωτικό δίκτυο.

Έχετε μια ερώτηση για εμάς; Παρακαλώ δημοσιεύστε το και θα επικοινωνήσουμε μαζί σας.

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