Ethereum Smart Contract - Hvordan udføres en Smart Contract?



I denne Ethereum Smart Contract-selvstudie lærer du, hvordan du opretter, implementerer og udfører en smart kontrakt ved hjælp af Truffle og Ethereum Private Network.

Hovedårsagen til, at Blockchain Technology får sin plads blandt Top Technologies, er på grund af dens decentraliserede natur. Mens hovedformålet med Blockchain var at opretholde transaktionsregistre uden en central myndighed, for at automatisere dette, Smarte kontrakter blev introduceret. Men hvad efter ? I denne Ethereum Smart Contract-vejledning vil vi se, hvordan du bruger Truffle Ethereum og Ethereum Private Network at udføre en smart kontrakt.

Interesseret i Ethereum Development? Tjek denne Live .





Vi vil se på følgende emner i denne Ethereum Smart Contract-vejledning:

  1. Brugssag: Smarte kontrakter i forsikringsprocessen
  2. Fordele ved smarte kontrakter
  3. Installation af forudsætninger
  4. Konfiguration af Genesis Block
  5. Kørsel af Ethereum Private Network
  6. Oprettelse af Ethereum-konto
  7. Oprettelse af smart kontrakt for Ethereum
  8. Udførelse af Ethereum Smart Contract

Brugssag: Smarte kontrakter i forsikringsprocessen

'Ingen central myndighed' følger Blockchain, og det er grunden til, at smarte kontrakter blev introduceret. Men har du nogensinde spekuleret på, hvordan kan en smart kontrakt bruges? Nå, i dette afsnit af Ethereum Smart Contract vil jeg forklare et brugssag om Smart Contract i forsikringsprocessen.



forskel mellem jquery og javascript

Lad os overveje et eksempel på en flyforsinkelsesforsikring. Antag, at du vil tage en flyvning fra kilde A til destination C, men at du ikke har en direkte flyvning. Så du beslutter dig for at tage en tilslutningsflyvning (gennem B). Nu vil din rute være fra A til B og derefter fra B til C, hvor B er den lufthavn, du vil ændre flyene. Desværre har du ikke meget tidsforskel mellem flyvningerne fra A til B og fra B til C. Så hvis flyet fra A til B med en chance er forsinket, vil du gå glip af flyet fra B til C. Du indse dette og bare for at redde dig selv fra store tab, tager du en flyforsinkelsesforsikring.

Forsinkelse af flyforsinkelse - Edureka

Nu, hvis din flyvning fra A til B er forsinket (hvilket får dig til at gå glip af flyet fra B til C), får du betalt forsikringsbeløbet. Den normale måde, dette fungerer på, er, hvis din flyvning er forsinket, kræver du forsikringen. Derefter vil en person der kontrollere og godkende forsikringen, og til sidst får du dit forsikringsbeløb. Men dette er en ganske langvarig proces.



Hvordan kan du bruge smarte kontrakter til at forbedre forsikringsprocessen?

Når det kommer til finansielle transaktioner, og især når du får penge, 'jo hurtigere, jo bedre', er det ikke? Så lad os se, hvordan smarte kontrakter kan fastgøre forsikringsprocessen. Smarte kontrakter er digitale kontrakter, der automatisk udføres, når visse betingelser er opfyldt. En smart kontrakt kan skrives for at udbetale forsikringsbeløbet til personer, der har valgt flyforsinkelsesforsikring, hvis flyet er forsinket. Så når flyet er forsinket, og denne forsinkelse registreres af systemet, udbetales forsikringen straks.

Hej! forsikringsbeløb betalt på få sekunder. Sådan får enkle og hurtige smarte kontrakter en proces til at ske.

Fordele ved smarte kontrakter

Du har set i ovenstående eksempel, hvordan Smart Contract kan fastgøre økonomiske processer. Bortset fra hurtige transaktioner har smarte kontrakter nogle flere fordele. Her viser jeg nogle andre fordele ved at bruge en smart kontrakt:

  • Automatisk: Alle trin i processen sker automatisk med smarte kontrakter
  • Ingen mellemprodukter: Når du bruger smarte kontrakter, behøver du ikke et mellemprodukt for at få arbejdet gjort, da alt vil blive håndteret af smarte kontrakter
  • Omkostningseffektiv: Brug af smarte kontrakter sparer dig penge på transaktionsgebyrer, der opkræves af banker, og servicegebyrer, der opkræves af mellemled (hvis nogen)

Nu hvor vi ved, hvordan smarte kontrakter kan bruges til at gøre verden til et hurtigere sted, lad os komme til den praktiske del på denne Ethereum Smart Contract-vejledning.

Installation af forudsætninger

Til denne Ethereum Smart Contract-tutorial kræver vi 5 vigtige applikationer:

  • NodeJS
  • NPM
  • Ethereum
  • Trøffel
  • Solidity Compiler

Installation af NodeJS

NodeJS er et JavaScript Framework, der bruges til at oprette serverapplikationer. Da vi bruger et privat netværk, vil NodeJS gøre det let at opbygge netværksapplikationen.

For at installere Nodejs skal du køre følgende kommando i din terminal:

$ sudo apt-get install nodejs

Installation af NPM

NPM står for Node Package Manager og bruges til at køre Nodejs-applikationer.

For at installere NPM skal du køre følgende kommando i din terminal:

$ sudo apt-get install npm

Installation af Ethereum

Ethereum er en open source & offentlig blockchain-baseret, distribueret computerplatform til opbygning af decentrale applikationer.

For at installere Ethereum skal du køre følgende kommando i din terminal:

$ sudo apt-get install software-egenskaber-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Installation af trøffel

Truffle er et pipeline for udviklingsmiljø, testrammer og aktiver for Ethereum Blokchains.

For at installere Truffle skal du køre følgende kommando i din terminal:

$ npm installer -g trøffel

Installation af Solidity Compiler

Solidity er et programmeringssprog, der bruges til at skrive smarte kontrakter. For at køre smarte kontrakter på vores system skal vi installere Solidity Compiler.

For at installere Solidity Compiler skal du køre følgende kommando i din terminal:

$ sudo npm install -g solc

Konfiguration af Genesis Block

En Genesis Block er startpunktet for en Blockchain, og vi har brug for en genesis-fil for at starte Blockchain. I dette afsnit af Ethereum Smart Contract skriver vi en Genesis-fil og konfigurerer den, så vi kan køre Smart Contracts.

Lad os først oprette en ny mappe, og derefter skal vi oprette den i den mappe oprindelsesfil

$ mkdir ethereum-netværk $ cd ethereum-netværk $ nano genesis.json

Indtast nu følgende linjer i genesis.json fil:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'tildel': {}, 'vanskelighed': '200' 'gasLimit': '99999999999999'}

Gem dette og afslut.

Kørsel af Ethereum Private Network

I denne Etheruem Smart Contract-vejledning implementerer vi en Ethereum Smart Contract på et privat netværk. Så for at starte dette netværk bruger vi følgende kommando:

$ 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'

Før jeg går videre, lad mig forklare nogle vigtige flag, der bruges i ovenstående kommando:

datadir: Mappen, hvor dataene relateret til Blockchain er gemt.

RPC: Aktiverer HTTP-RPC-server.

rpcport og rpcaddr bruges til at indstille henholdsvis netværksport og adresse.

rpcapi: Tillader os at interagere med Ethereum-netværket ved hjælp af forskellige API'er.

Forbinder Geth til Ethereum Private Blockchain

Geth-konsol er konsollen, hvorfra vi kan interagere med Ethereum Private Blockchain. For at forbinde Geth til Ethereum Private Blockchain skal du åbne en ny terminal og køre nedenstående kommando:

$ geth vedhæft http://127.0.0.1:8543

Nu er vi i Geth-konsollen, hvor vi kan køre kommandoer for at interagere med Blockchain.

Oprettelse af Ethereum-konto

For at foretage enhver transaktion har vi brug for en konto. I dette afsnit af Ethereum Smart Contract-selvstudiet vil vi se, hvordan du opretter en ny Ethereum-konto fra Geth-konsollen.

Efter trinene hidtil er vi allerede i Geth-konsollen. For at oprette en ny konto skal du køre følgende kommando i Geth-konsollen:

> personal.newAccount ('seedphrase')

Udskift “frøfrase”Med den adgangskode, du vil indstille til denne konto.

Vi har oprettet en ny konto, men denne konto har ingen ether. Vi behøverethere til at foretage enhver transaktion og få etheretil vores konto starter vi minedriftethere. For at starte minedrift skal vi først låse op for kontoen. Lad os låse op for kontoen og starte minedrift.

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

Da minedrift fortsætter med at ske, nogleetherevil blive deponeret på denne konto.

Bemærk : Disse ethere er dummy ethere og har ingen værdi i den virkelige verden.

For at kontrollere saldoenetherepå kontoen kører vi følgende kommando:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ether')

Når du kører denne kommando med regelmæssige intervaller, vil du se, atetherebliver øget på grund af minedrift.

For at stoppe minedrift skal du køre følgende kommando:

> miner.stop()

Oprettelse af smart kontrakt for Ethereum

Oprettelse af trøffelprojekt

Nu hvor vi har vores private Blockchain klar, vil vi se, hvordan vi opretter en Ethereum Smart Contract ved hjælp af Truffle. Til denne vejledning opretter vi en simpel 'Hello World' Ethereum Smart Contract.

For at starte med dette, lad os først oprette en ny mappe til at gemme Truffle-projektet. Og så i denne mappe opretter vi et nyt Truffle-projekt. Åbn en ny terminal, og kør nedenstående kommandoer:

$ mkdir trøffel $ cd trøffel $ trøffel init

Det trøffel init kommando opretter alle de nødvendige filer, der kræves til et trøffelprojekt.

Nu hvor vi har alt til at implementere en Ethereum Smart Contract klar, lad os komme til at skrive en 'Hello World' Smart Contract.

Skrivning af en 'Hello World' smart kontrakt

Alle kontrakter skal skrives i kataloget 'kontrakter'. Vi skifter til denne mappe og opretter en kontrakt med navnet “HelloWorld.sol” og tilføjer følgende linjer i denne fil:

pragma soliditet ^ 0.4.15 kontrakt HelloWorld {string public message function Hej () public {message = 'Hello World!' }}

Dette er det! Men denne smarte kontrakt kan ikke udføres af sig selv. Vi bliver nødt til at foretage nogle konfigurationer til det.

Konfiguration af trøffelmigration

For at migrere vores smarte kontrakt skal vi tilføje en fil i “Migrationer” bibliotek i “Trøffel” vejviser. I denne mappe tilføjer vi en fil med navnet “2_deploy_contracts.js” med følgende indhold:

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

Gem og luk.

For at køre trøffel på vores netværk skal vi redigere “ truffle.js ”-Fil i “Trøffel” vejviser . Åbn denne fil, og indtast følgende poster:

module.exports = {rpc: {host: 'localhost', port: 8543}, netværk: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Bemærk: Udskift 'fra' adresse med adressen på den konto, du oprettede i det forrige trin.

Udførelse af Ethereum Smart Contract

I denne sidste sektion af Ethereum Smart Contract-vejledning vil vi se, hvordan vi implementerer vores 'Hello World' Smart Contract på vores Ethereum Private Network.

Kompilering og implementering af smart kontrakt

Før vi kan udføre vores smarte kontrakt, skal vi først kompilere og distribuere den til vores Ethereum Private Network. Vi gør dette ved hjælp af følgende kommandoer:

$ trøffel kompilering

Nu skal vi låse op for vores konto og starte minedrift. Gå tilbage til terminalen med Geth-konsollen, og kør følgende kommando:

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

og derefter gå tilbage til den terminal, der har “Trøffel” som den nuværende arbejdsmappe ogløbfølgende kommando:

$ trøffel migrere

Vent på, at implementeringen er afsluttet.

Udførelse af smart kontrakt på privat Ethereum Blockchain

For at udføre 'Hello World' Smart Contract, bliver vi nødt til at gå ind i trøffelkonsollen. Kør følgende kommando for at gøre dette:

$ trøflekonsol

Du vil nu være i trøflekonsollen. For at udføre Smart Contract skal du køre følgende kommando:

> var første_kontrakt> HelloWorld.deployed (). derefter (funktion (forekomst) {første_kontrakt = forekomst})> dApp.message.call ()

Tillykke! Du har oprettet din første Ethereum Smart Contract og udført den. Jeg håber, at denne Ethereum Smart Contract-tutorial var informativ og hjalp dig med at forstå, hvordan du udfører en Ethereum Smart Contract. Fortsæt nu og prøv at skrive andre smarte kontrakter og udføre den.

Har du et spørgsmål til os? Send det venligst på og vi vender tilbage til dig.

Hvis du ønsker at lære Blockchain og opbygge en karriere inden for Blockchain Technologies, så tjek vores som kommer med instruktørstyret live træning og projektoplevelse i det virkelige liv. Denne træning hjælper dig med at forstå, hvad der er Blockchain på en udtømmende måde, og hjælper dig med at opnå mestring over emnet.