Αυτό το άρθρο επεξεργάστηκε τελευταία φορά από το χρήστη στις 2018-8-25 23:11
Από πέρυσι, αναπτύσσουμε μια επιχείρηση blockchain. Πρόσφατα χρησιμοποίησα Ethereum και χρησιμοποίησα PHP, οπότε σκέφτηκα ότι πρέπει να μιλήσουμε για αυτό το θέμα. Εδώ είναι μια προϋπόθεση: - 1. Κατανοήστε το blockchain
- 2. Να έχετε κατανόηση των γλωσσών προγραμματισμού
Βασικά στοιχεία από αυτό το άρθρο: - 1. Περιβάλλον ανάπτυξης
- 2. Εισαγωγή του Ethereum
- 3. Προετοιμάστε την κλήση JSON-RPC
- 4. Πρόσβαση από PHP
1. Περιβάλλον ανάπτυξηςΘα χρησιμοποιήσουμε το Ubuntu 14.04 LTS. Μετά την εγκατάσταση του λειτουργικού συστήματος, εισαγάγετε τις προκαθορισμένες εντολές. Μετά από αυτό ρύθμισα SSH, iptables, ntp κ.λπ. Στη συνέχεια, υπάρχει το Apache + PHP. Η έκδοση PHP θα είναι 5.5.
2. Εισαγωγή του EthereumΑυτή τη φορά θα χρησιμοποιήσουμε έναν κόμβο Ethereum κατασκευασμένο στη γλώσσα GO, το go-ethereum με συντομογραφία geth. Ας προσθέσουμε πρώτα ένα αποθετήριο. Μετά από αυτό, απλώς εγκαταστήστε το. Εκκινήστε το Geth μόλις ολοκληρωθεί η εγκατάσταση. Αρχικά, δημιουργήστε έναν κατάλογο δεδομένων και περιγράψτε τις ρυθμίσεις του πρώτου μπλοκ (μπλοκ γένεσης). Στη συνέχεια, δημιουργήστε ένα μπλοκ Genesis και ξεκινήστε το geth. Όταν βρίσκεστε σε λειτουργία κονσόλας, η εκκίνηση είναι επιτυχής. Καθορίζονται διάφορες επιλογές και η εξήγηση συνοψίζεται παρακάτω. - NetworkID, το οποίο συνδέεται με έναν δημόσιο κόμβο.
- , η οποία είναι μια θύρα για αναμονή. Το άλλαξα σε 4ψήφιο αριθμό.
- nodiscover, η οποία είναι μια ρύθμιση που εμποδίζει την αυτόματη προβολή των κόμβων.
- datadir, καθορίζοντας τον κατάλογο όπου το blockchain αποθηκεύει δεδομένα.
- κονσόλα, η οποία εκκινεί την κονσόλα ταυτόχρονα με την εκκίνησή της.
Εντάξει, προετοιμαστείτε για την επόμενη κλήση της PHP, αλλά πριν από αυτό ας κάνουμε περισσότερη προετοιμασία από την πλευρά του geth. 3. Προετοιμάστε την κλήση JSON-RPCΠρόσβαση από PHP μέσω JSON-RPC. Εδώ θα στήσουμε τη γειτονιά. Αρχικά, θα ληφθούν οι πληροφορίες του τρέχοντος λογαριασμού. Χρησιμοποιούμε επίσης την κονσόλα geth που λανσάραμε την τελευταία φορά. Δεν έχουμε δημιουργήσει ακόμα λογαριασμό, επομένως είναι απαραίτητο να τον δημιουργήσουμε. Ο λογαριασμός έχει πλέον δημιουργηθεί. Το ρυθμίσαμε έτσι ώστε να μπορείτε να κερδίσετε ανταμοιβές κατά την εξόρυξη. Στη συνέχεια, καθώς ο τρέχων κόμβος δεν επιτρέπει κλήσεις RPC, προσθέστε μια επιλογή και ξεκινήστε την ξανά. Ας τελειώσουμε πρώτα το geth. Ας προσθέσουμε επιλογές και ας επανεκκινήσουμε Έχουν προστεθεί αρκετές επιλογές για RPC. Η εξήγηση είναι η εξής. - rpc, επιτρέποντας στο RPC σε κατάσταση αναμονής.
- rpcaddr, μια διεύθυνση IP για εναλλακτικούς RPC.
- rpcport, η θύρα που χρησιμοποιείται για την ακρόαση RPC. Μείωσα τον αριθμό θύρας σε 4 ψηφία.
- rpccorsdomain, ένας τομέας που επιτρέπει την πρόσβαση στο RPC. Σημειώστε ότι όταν δημοσιεύετε έναν κόμβο, εάν είναι "*", θα επιτρέπει τα πάντα.
Η πλευρά του κόμβου είναι τώρα έτοιμη. Στη συνέχεια θα υπάρξει μια κλήση από την PHP. 4. Πρόσβαση από PHPΤέλος, γιατί να έχετε πρόσβαση από την PHP, αλλά να τα έχετε, γιατί είναι αρκετά δύσκολο και μπορεί να χρησιμοποιηθεί όταν γράφετε κώδικαΑυτό。 Όπως μπορείτε να δείτε στο README, απλά πρέπει να δημιουργήσετε μια κλάση. Ας το χρησιμοποιήσουμε βάζοντάς το στον ίδιο κατάλογο με το δοκιμαστικό σενάριο. Όταν εκτελούμε αυτό το σενάριο, θα πρέπει να υπάρχει μια λίστα λογαριασμών ως εξής.
Εάν δεν μπορείτε να συνδεθείτε, ελέγξτε τις ρυθμίσεις θύρας κ.λπ. Μέχρι στιγμής, το έχουμε εξηγήσει εν συντομία, αλλά δεν είναι εκπληκτικά εύκολο να αναπτυχθεί με PHP; Όταν πρόκειται για έξυπνα συμβόλαια, γίνεται λίγο πιο περίπλοκο και θα γράψουμε γι' αυτό αργότερα. Επίσης, αν θέλετε να δείτε απευθείας πώς χρησιμοποιείται το blockchain στο Ethereum, μπορείτε να το ελέγξετε αυτόhttp://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=825itsvse, εισάγει κυρίως τη χρήση της PHP για αλληλεπίδραση ανάπτυξης έξυπνων συμβολαίων, δημιουργία λογαριασμού, συναλλαγές, μεταφορά, ανάπτυξη διακριτικών, φίλτρα και συμβάντα κ.λπ.
|