Έξυπνο συμβόλαιο Ethereum - Πώς να εκτελέσετε ένα έξυπνο συμβόλαιο;



Σε αυτό το φροντιστήριο Ethereum Smart Contract, θα μάθετε πώς να δημιουργείτε, να αναπτύσσετε και να εκτελείτε ένα έξυπνο συμβόλαιο χρησιμοποιώντας το Truffle και το Ethereum Private Network.

Ο κύριος λόγος για την Blockchain Technology να πάρει τη θέση της μεταξύ των κορυφαίων τεχνολογιών είναι λόγω της αποκεντρωμένης φύσης της. Ενώ ο κύριος σκοπός του Blockchain ήταν να διατηρήσει αρχεία συναλλαγών χωρίς κεντρική αρχή, να αυτοματοποιήσει αυτό, Έξυπνες συμβάσεις εισήχθησαν. Αλλά τι μετά ; Σε αυτό το φροντιστήριο Ethereum Smart Contract, θα δούμε πώς να το χρησιμοποιήσουμε Τρούφα Ethereum και Ιδιωτικό δίκτυο Ethereum για την εκτέλεση έξυπνης σύμβασης.

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





Θα εξετάσουμε τα ακόλουθα θέματα σε αυτό το σεμινάριο Έξυπνης Σύμβασης Ethereum:

  1. Περίπτωση χρήσης: Έξυπνα συμβόλαια στη διαδικασία ασφάλισης
  2. Οφέλη από έξυπνες συμβάσεις
  3. Εγκατάσταση προ-απαιτήσεων
  4. Διαμόρφωση μπλοκ Genesis
  5. Εκτέλεση του ιδιωτικού δικτύου Ethereum
  6. Δημιουργία λογαριασμού Ethereum
  7. Δημιουργία έξυπνου συμβολαίου Ethereum
  8. Εκτέλεση Έξυπνης Σύμβασης Ethereum

Περίπτωση χρήσης: Έξυπνα συμβόλαια στη διαδικασία ασφάλισης

Το 'No Central Authority' είναι αυτό που ακολουθεί το Blockchain και αυτός είναι ο λόγος για τον οποίο εισήχθησαν τα Smart Contracts. Αλλά αναρωτηθήκατε ποτέ πώς μπορεί να χρησιμοποιηθεί ένα έξυπνο συμβόλαιο; Λοιπόν, σε αυτήν την ενότητα του Ethereum Smart Contract, θα εξηγήσω μια περίπτωση χρήσης του Smart Contract στη διαδικασία ασφάλισης.



Ας εξετάσουμε ένα παράδειγμα ασφάλισης Flight Delay. Ας υποθέσουμε ότι θέλετε να πάρετε μια πτήση από την πηγή Α στον προορισμό Γ αλλά δεν έχετε απευθείας πτήση. Έτσι, αποφασίζετε να πάρετε μια πτήση με ανταπόκριση (μέσω Β). Τώρα, η διαδρομή σας θα είναι από το Α στο Β και στη συνέχεια από το Β στο Γ, όπου το Β είναι το αεροδρόμιο θα αλλάζετε τις πτήσεις. Δυστυχώς, δεν έχετε μεγάλο χρονικό διάστημα μεταξύ των πτήσεων από Α προς Β και από Β προς Γ. Επομένως, εάν κατά τύχη, η πτήση από Α προς Β καθυστερεί, τότε θα χάσετε την πτήση από Β προς Γ. Συνειδητοποιήστε αυτό και απλώς για να σώσετε τον εαυτό σας από βαριά απώλεια, παίρνετε ένα Flight Delay Insurance.

Ασφάλιση καθυστέρησης πτήσης - Edureka

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



Πώς μπορείτε να χρησιμοποιήσετε τα έξυπνα συμβόλαια για να βελτιώσετε τη διαδικασία ασφάλισης;

Όσον αφορά τις χρηματοοικονομικές συναλλαγές, και ειδικά όταν παίρνετε χρήματα, «όσο πιο γρήγορα, τόσο καλύτερα», έτσι δεν είναι; Ας δούμε λοιπόν πώς τα έξυπνα συμβόλαια μπορούν να επιταχύνουν τη διαδικασία ασφάλισης. Οι έξυπνες συμβάσεις είναι ψηφιακές συμβάσεις που εκτελούνται αυτόματα όταν πληρούνται ορισμένες προϋποθέσεις. Ένα Έξυπνο Συμβόλαιο μπορεί να γραφτεί για την πληρωμή του ποσού ασφάλισης σε άτομα που έχουν επιλέξει Ασφάλιση Καθυστέρησης Πτήσης εάν η πτήση καθυστερήσει. Έτσι, όταν η πτήση καθυστερήσει και αυτή η καθυστέρηση καταγράφεται από το σύστημα, η ασφάλιση καταβάλλεται αμέσως.

Χόλα! ποσό ασφάλισης που καταβλήθηκε σε λίγα δευτερόλεπτα. Αυτός είναι ο τρόπος με τον οποίο οι απλές και γρήγορες έξυπνες συμβάσεις πραγματοποιούν μια διαδικασία.

Οφέλη από έξυπνες συμβάσεις

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

  • Αυτόματο: Όλα τα βήματα στη διαδικασία συμβαίνουν αυτόματα με έξυπνα συμβόλαια
  • Χωρίς ενδιάμεσα: Όταν χρησιμοποιείτε έξυπνα συμβόλαια, δεν χρειάζεστε έναν ενδιάμεσο για να ολοκληρώσετε τη δουλειά, καθώς όλα θα χειριστούν τα έξυπνα συμβόλαια
  • Αποδοτική: Η χρήση των έξυπνων συμβολαίων θα σας εξοικονομήσει χρήματα για τέλη συναλλαγής που χρεώνονται από τράπεζες και τα τέλη υπηρεσιών από ενδιάμεσους (εάν υπάρχουν)

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

Εγκατάσταση προ-απαιτήσεων

Για αυτό το φροντιστήριο Ethereum Smart Contract, θα χρειαστούν 5 σημαντικές εφαρμογές:

  • NodeJS
  • NPM
  • Αιθέριο
  • Υτανο
  • Μεταγλωττιστής στερεότητας

Εγκατάσταση NodeJS

Το NodeJS είναι ένα Πλαίσιο JavaScript που χρησιμοποιείται για τη δημιουργία εφαρμογών διακομιστή. Καθώς χρησιμοποιούμε ένα ιδιωτικό δίκτυο, το NodeJS θα διευκολύνει τη δημιουργία της εφαρμογής δικτύου.

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

$ sudo apt-get install nodejs

Εγκατάσταση NPM

Το NPM σημαίνει Node Package Manager και χρησιμοποιείται για την εκτέλεση εφαρμογών Nodejs.

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

$ sudo apt-get εγκατάσταση npm

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

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

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

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

Εγκατάσταση τρούφας

Το Truffle είναι ένα περιβάλλον ανάπτυξης, ένα πλαίσιο δοκιμών και ένας αγωγός περιουσιακών στοιχείων για Ethereum Blokchains.

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

$ npm install -g truffle

Εγκατάσταση μεταγλωττιστή σταθερότητας

Το Solidity είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για τη σύνταξη έξυπνων συμβάσεων. Για να εκτελέσουμε έξυπνες συμβάσεις στο σύστημά μας, πρέπει να εγκαταστήσουμε το Solidity Compiler.

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

$ sudo npm install -g solc

Διαμόρφωση μπλοκ Genesis

Το Genesis Block είναι το σημείο εκκίνησης ενός Blockchain και χρειαζόμαστε ένα αρχείο προέλευσης για να ξεκινήσουμε το Blockchain. Σε αυτήν την ενότητα του Ethereum Smart Contract, θα γράψουμε ένα αρχείο Genesis και θα το διαμορφώσουμε ώστε να μας επιτρέπει να εκτελούμε έξυπνα συμβόλαια.

Ας δημιουργήσουμε πρώτα έναν νέο κατάλογο και μετά σε αυτόν τον κατάλογο θα δημιουργήσουμε το αρχείο γένεσης

$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

Τώρα, εισαγάγετε τις ακόλουθες γραμμές στο genesis.json αρχείο:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'dial': {}, 'δυσκολία': '200' 'gasLimit': '99999999999999'}

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

Εκτέλεση του ιδιωτικού δικτύου Ethereum

Σε αυτό το σεμινάριο Etheruem Smart Contract, θα αναπτύξουμε ένα Ethereum Smart Contract σε ένα ιδιωτικό δίκτυο. Έτσι, για να ξεκινήσουμε αυτό το δίκτυο θα χρησιμοποιήσουμε την ακόλουθη εντολή:

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

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

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

datadir: Ο κατάλογος όπου αποθηκεύονται τα δεδομένα που σχετίζονται με το Blockchain.

rpc: Ενεργοποιεί το διακομιστή HTTP-RPC.

rpcport και rpcaddr χρησιμοποιούνται για τη ρύθμιση της θύρας και της διεύθυνσης του δικτύου αντίστοιχα.

rpcapi: Μας επιτρέπει να αλληλεπιδρούμε με το δίκτυο Ethereum χρησιμοποιώντας διαφορετικά API.

Σύνδεση του Geth με το Ethereum Private Blockchain

Η κονσόλα Geth είναι η κονσόλα από την οποία μπορούμε να αλληλεπιδράσουμε με το Ethereum Private Blockchain. Για να συνδέσετε το Geth με το Ethereum Private Blockchain, ανοίξτε ένα νέο τερματικό και εκτελέστε την παρακάτω εντολή:

$ geth επισύναψη http://127.0.0.1:8543

Τώρα, βρισκόμαστε στην κονσόλα Geth όπου μπορούμε να εκτελέσουμε εντολές για να αλληλεπιδράσουμε με το Blockchain.

Δημιουργία λογαριασμού Ethereum

Για να κάνουμε οποιαδήποτε συναλλαγή, χρειαζόμαστε λογαριασμό. Σε αυτήν την ενότητα του οδηγού Ethereum Smart Contract, θα δούμε πώς να δημιουργήσουμε νέο λογαριασμό Ethereum από την κονσόλα Geth.

Ακολουθώντας τα βήματα μέχρι στιγμής, βρισκόμαστε ήδη στην κονσόλα Geth. Για να δημιουργήσετε έναν νέο λογαριασμό, εκτελέστε την ακόλουθη εντολή στην κονσόλα Geth:

> personal.newAccount («seedphrase»)

Αντικαταστήστε το 'φράση σπόρου'Με τον κωδικό πρόσβασης που θέλετε να ορίσετε για αυτόν τον λογαριασμό.

Δημιουργήσαμε έναν νέο λογαριασμό, αλλά αυτός ο λογαριασμός δεν έχει αιθέρες. Χρειαζόμαστεαιθέρες να κάνουν οποιαδήποτε συναλλαγή και να πάρουν αιθέρεςστο λογαριασμό μας, θα ξεκινήσουμε την εξόρυξη αιθέρων. Για να ξεκινήσουμε την εξόρυξη, πρέπει πρώτα να ξεκλειδώσουμε τον λογαριασμό. Ας ξεκλειδώσουμε τον λογαριασμό και ξεκινήστε την εξόρυξη.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

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

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

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

> web3.fromWei (eth.getBalance (eth.coinbase), «αιθέρας»)

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

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

> miner.stop ()

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

Δημιουργία έργου Truffle

Τώρα που έχουμε όλα τα ιδιωτικά Blockchain μας έτοιμα, θα δούμε πώς να δημιουργήσουμε ένα έξυπνο συμβόλαιο Ethereum χρησιμοποιώντας το Truffle. Για αυτό το σεμινάριο, θα δημιουργήσουμε ένα απλό Έξυπνο Συμβόλαιο Ethereum 'Hello World'.

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

$ mkdir truffle $ cd truffle $ truffle init

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

Τώρα που έχουμε τα πάντα για να αναπτύξουμε ένα Έξυπνο Συμβόλαιο Ethereum, ας αρχίσουμε να γράφουμε ένα Έξυπνο Συμβόλαιο 'Hello World'.

Γράφοντας ένα έξυπνο συμβόλαιο «Hello World»

Όλα τα συμβόλαια πρέπει να είναι γραμμένα στον κατάλογο «συμβάσεις». Θα μεταβούμε σε αυτόν τον κατάλογο και θα δημιουργήσουμε μια σύμβαση με το όνομα 'HelloWorld.sol' και θα προσθέσουμε τις ακόλουθες γραμμές σε αυτό το αρχείο:

pragma solidity ^ 0.4.15 συμβόλαιο HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Αυτό είναι! Αλλά αυτό το έξυπνο συμβόλαιο δεν μπορεί να εκτελεστεί από μόνο του. Θα πρέπει να κάνουμε κάποιες ρυθμίσεις για αυτό.

Διαμόρφωση μετεγκατάστασης Truffle

Για τη μετεγκατάσταση του Έξυπνου συμβολαίου, θα πρέπει να προσθέσουμε ένα αρχείο στο «Μεταναστευσεις» κατάλογο στο 'ύτανο' Ευρετήριο. Σε αυτόν τον κατάλογο θα προσθέσουμε ένα αρχείο με το όνομα '2_deploy_contracts.js' με τα ακόλουθα περιεχόμενα σε αυτό:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Αποθήκευση και έξοδος.

Για να τρέξουμε τρούφα στο δίκτυό μας, πρέπει να επεξεργαστούμε το ' truffle.js Αρχείο στο 'ύτανο' Ευρετήριο . Ανοίξτε αυτό το αρχείο και κάντε τις ακόλουθες καταχωρίσεις:

module.exports = {rpc: {host: 'localhost', port: 8543}, network: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', αέριο: 20000000}}}

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

Εκτέλεση Έξυπνης Σύμβασης Ethereum

Σε αυτήν την τελευταία ενότητα του εκπαιδευτικού προγράμματος Ethereum Smart Contract, θα δούμε πώς να αναπτύξουμε το Έξυπνο συμβόλαιο «Hello World» στο ιδιωτικό μας δίκτυο Ethereum.

Σύνταξη και ανάπτυξη έξυπνης σύμβασης

Προτού μπορέσουμε να εκτελέσουμε το Έξυπνο Συμβόλαιο, πρέπει πρώτα να το συντάξουμε και να το αναπτύξουμε στο Ethereum Private Network. Θα το κάνουμε χρησιμοποιώντας τις ακόλουθες εντολές:

$ truffle compile

πώς να αντιστρέψετε το python string

Τώρα, πρέπει να ξεκλειδώσουμε τον λογαριασμό μας και να ξεκινήσουμε την εξόρυξη. Επιστρέψτε στο τερματικό με την κονσόλα Geth και εκτελέστε την ακόλουθη εντολή:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

και μετά, επιστρέψτε στο τερματικό που έχει 'ύτανο' ως ο τρέχων κατάλογος εργασίας καιτρέξιμοη ακόλουθη εντολή:

$ truffle μετεγκατάσταση

Περιμένετε να ολοκληρωθεί η ανάπτυξη.

Εκτέλεση έξυπνης σύμβασης σε ιδιωτικό Ethereum Blockchain

Για να εκτελέσουμε το έξυπνο συμβόλαιο 'Hello World', θα πρέπει να μπείτε στην κονσόλα τρούφας. Εκτελέστε την ακόλουθη εντολή για να το κάνετε αυτό:

$ truffle κονσόλα

Θα είστε τώρα στην κονσόλα τρούφας. Για να εκτελέσετε το έξυπνο συμβόλαιο, εκτελέστε την ακόλουθη εντολή:

> var first_contract> HelloWorld.deployed (). then (function (instance) {first_contract = instance})> dApp.message.call ()

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

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

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