Ethereum viedais līgums - kā izpildīt viedo līgumu?



Šajā Ethereum viedo līgumu apmācībā jūs uzzināsiet, kā izveidot, izvietot un izpildīt viedo līgumu, izmantojot Trifeļu un Ethereum privāto tīklu.

Galvenais iemesls, kāpēc Blockchain Technology iegūst vietu augstāko tehnoloģiju vidū, ir tā decentralizētā rakstura dēļ. Kaut arī Blockchain galvenais mērķis bija uzturēt darījumu ierakstus bez centrālās iestādes, lai to automatizētu, Viedie līgumi tika ieviesti. Bet kas pēc tam ? Šajā Ethereum Smart Contract apmācībā mēs redzēsim, kā to izmantot Trifeļu Ethereum un Ethereum privātais tīkls lai izpildītu viedo līgumu.

Vai jūs interesē Ethereum izstrāde? Apskatiet šo Live .





Šajā Ethereum viedo līgumu apmācībā mēs aplūkosim šādas tēmas:

  1. Izmantošanas gadījums: Viedie līgumi apdrošināšanas procesā
  2. Viedo līgumu priekšrocības
  3. Iepriekšēju rekvizītu instalēšana
  4. Genesis Block konfigurēšana
  5. Ethereum privātā tīkla vadīšana
  6. Ethereum konta izveide
  7. Ethereum Smart līguma izveide
  8. Ethereum Smart līguma izpilde

Izmantošanas gadījums: Viedie līgumi apdrošināšanas procesā

'Bez centrālās iestādes' seko Blockchain, un tāpēc tika ieviesti viedie līgumi. Bet vai jūs kādreiz esat domājis, kā var izmantot viedo līgumu? Šajā Ethereum viedā līguma sadaļā es izskaidrošu viedā līguma izmantošanas gadījumu apdrošināšanas procesā.



Apskatīsim lidojuma kavēšanās apdrošināšanas piemēru. Pieņemsim, ka vēlaties veikt lidojumu no avota A uz galamērķi C, bet jums nav tieša lidojuma. Tātad, jūs nolemjat veikt pārsēšanās lidojumu (caur B). Tagad jūsu maršruts būs no A uz B un tad no B uz C, kur B ir lidosta, kurā mainīsit lidojumus. Diemžēl jums nav lielas laika starpības starp lidojumiem no A uz B un no B uz C. Tātad, ja kāda iespēja, lidojums no A uz B kavējas, tad jūs nokavēsiet lidojumu no B uz C. saproti to un tikai tāpēc, lai glābtu sevi no smagiem zaudējumiem, tu apdrošini lidojuma kavēšanās apdrošināšanu.

Lidojuma kavēšanās apdrošināšana - Edureka

Tagad, ja lidojums no A uz B kavēsies (kas liks nokavēt lidojumu no B uz C), jums tiks samaksāta apdrošināšanas summa. Parasti tas darbojas, ja lidojums kavējas, jūs pieprasāt apdrošināšanu. Tad kāda persona tur pārbaudīs un apstiprinās apdrošināšanu, un visbeidzot, jūs saņemsiet savu apdrošināšanas summu. Bet tas ir diezgan ilgs process.



Kā jūs varat izmantot viedos līgumus, lai uzlabotu apdrošināšanas procesu?

Runājot par finanšu darījumiem un it īpaši, ja jūs saņemat naudu, vai ne 'jo ātrāk, jo labāk'? Apskatīsim, kā viedie līgumi var paātrināt apdrošināšanas procesu. Viedie līgumi ir digitāli līgumi, kas tiek automātiski izpildīti, kad ir izpildīti noteikti nosacījumi. Viedo līgumu var parakstīt, lai izmaksātu apdrošināšanas summu cilvēkiem, kuri izvēlējušies lidojuma kavēšanās apdrošināšanu, ja lidojums kavējas. Tātad, kad lidojums kavējas un šo kavēšanos reģistrē sistēma, apdrošināšana tiek izmaksāta nekavējoties.

Hola! apdrošināšanas summa, kas samaksāta dažu sekunžu laikā. Šādi vienkārši un ātri viedie līgumi liek procesam notikt.

Viedo līgumu priekšrocības

Iepriekš minētajā piemērā esat redzējis, kā viedais līgums var paātrināt finanšu procesus. Papildus ātrajiem darījumiem viedajiem līgumiem ir vēl dažas priekšrocības. Šeit es uzskaita dažas citas viedā līguma izmantošanas priekšrocības:

  • Automātiski: Visas procesa darbības notiek automātiski, izmantojot viedos līgumus
  • Nav starpproduktu: Lietojot viedos līgumus, darba veikšanai nav nepieciešams starpprodukts, jo visu darīs viedie līgumi
  • Rentabla: Izmantojot viedos līgumus, jūs ietaupīsit naudu par banku iekasētajām transakcijas maksām un starpnieku (ja tādas ir) pakalpojumu maksām.

Tagad, kad mēs zinām, kā viedos līgumus var izmantot, lai padarītu pasauli ātrāku, iepazīsimies ar šo Ethereum viedo līgumu apmācības praktisko daļu.

Iepriekšēju rekvizītu instalēšana

Šai Ethereum viedo līgumu apmācībai mums būs nepieciešamas 5 svarīgas lietojumprogrammas:

  • NodeJS
  • NPM
  • Ethereum
  • Trifele
  • Cietības kompilators

NodeJS instalēšana

NodeJS ir JavaScript Framework, ko izmanto servera lietojumprogrammu veidošanai. Tā kā mēs izmantojam privātu tīklu, NodeJS ļaus viegli izveidot tīkla lietojumprogrammu.

Lai instalētu Nodejs, savā terminālī izpildiet šādu komandu:

$ sudo apt-get install nodejs

NPM instalēšana

NPM nozīmē Node Package Manager un tiek izmantots, lai palaistu Nodejs lietojumprogrammas.

Lai instalētu NPM, savā terminālī izpildiet šādu komandu:

$ sudo apt-get install npm

Ethereum instalēšana

Ethereum ir uz atvērtā koda un publiskas blokķēdes balstīta, izplatīta skaitļošanas platforma decentralizētu lietojumprogrammu veidošanai.

Lai instalētu Ethereum, savā terminālī izpildiet šādu komandu:

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

Trifeļu instalēšana

Trifeļa ir Ethereum Blokchains izstrādes vide, testēšanas sistēma un aktīvu cauruļvads.

Lai instalētu Truffle, savā terminālā izpildiet šādu komandu:

$ npm instalēt -g trifele

Instalējiet Solidity Compiler

Solidity ir programmēšanas valoda, ko izmanto viedo līgumu rakstīšanai. Lai izpildītu viedus līgumus mūsu sistēmā, mums jāinstalē Solidity Compiler.

Lai instalētu Solidity Compiler, terminālā izpildiet šādu komandu:

$ sudo npm install -g solc

Genesis Block konfigurēšana

Genesis Block ir Blockchain sākuma punkts, un mums ir nepieciešams ģenēzes fails, lai sāktu Blockchain. Šajā Ethereum viedā līguma sadaļā mēs rakstīsim Genesis failu un konfigurēsim to, lai ļautu mums vadīt viedos līgumus.

Vispirms izveidosim jaunu direktoriju un pēc tam tajā izveidosim ģenēzes fails

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

Tagad ievadiet šādas rindiņas ģenēze.json fails:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'piešķirt': {}, 'grūtības': '200' 'gasLimit': '99999999999999'}

Saglabājiet šo un izejiet.

Ethereum privātā tīkla vadīšana

Šajā Etheruem viedo līgumu apmācībā mēs izvietosim Ethereum viedo līgumu privātajā tīklā. Tātad, lai palaistu šo tīklu, mēs izmantosim šādu komandu:

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

Pirms došanās tālāk, ļaujiet man paskaidrot dažus svarīgus karodziņus, kas izmantoti iepriekš minētajā komandā:

datadir: Katalogs, kurā tiek glabāti ar Blockchain saistītie dati.

RPK: Iespējo HTTP-RPC serveri.

rpcport un rpcaddr tiek izmantoti, lai attiecīgi iestatītu tīkla portu un adresi.

rpcapi: Ļauj mums mijiedarboties ar Ethereum tīklu, izmantojot dažādas API.

Geth savienošana ar Ethereum Private Blockchain

Geth konsole ir konsole, no kuras mēs varam mijiedarboties ar Ethereum Private Blockchain. Lai savienotu Geth ar Ethereum Private Blockchain, atveriet jaunu termināli un izpildiet zemāk esošo komandu:

$ geth pievienot http://127.0.0.1:8543

Tagad mēs atrodamies Geth konsolē, kur mēs varam izpildīt komandas, lai mijiedarbotos ar Blockchain.

Ethereum konta izveide

Lai veiktu jebkuru darījumu, mums ir nepieciešams konts. Šajā Ethereum viedo līgumu apmācības sadaļā mēs redzēsim, kā izveidot jaunu Ethereum kontu no Geth konsoles.

Veicot līdzšinējos soļus, mēs jau atrodamies Geth konsolē. Lai izveidotu jaunu kontu, Geth konsolē izpildiet šādu komandu:

> personal.newAccount ('seedphrase')

Nomainiet “frāze”Ar paroli, kuru vēlaties iestatīt šim kontam.

Mēs esam izveidojuši jaunu kontu, taču šim kontam nav ēteru. Mums vajagēterus veikt jebkādus darījumus un iegūt ēterusmūsu kontā mēs sāksim iegūt ēterus. Lai sāktu kalnrūpniecību, mums vispirms ir jāatslēdz konts. Atbloķēsim kontu un sāksim raktuves.

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

Tā kā kalnrūpniecība turpinās, dažiēteritiks noguldīti uz šo kontu.

Piezīme : Šie ēteri ir fiktīvie ēteri un tām nav reālās vērtības.

Lai pārbaudītu atlikumuēterikontā mēs izpildīsim šādu komandu:

> web3.fromWei (eth.getBalance (eth.coinbase), 'ēteris')

Palaidot šo komandu regulāri, jūs redzēsiet, kaēterikalnrūpniecības dēļ pieaug.

Lai pārtrauktu ieguvi, izpildiet šādu komandu:

> miner.stop ()

Ethereum Smart līguma izveide

Trifeļu projekta veidošana

Tagad, kad mūsu privātā bloķēšanas ķēde ir gatava, mēs redzēsim, kā, izmantojot trifeles, izveidot Ethereum viedo līgumu. Šai apmācībai mēs izveidosim vienkāršu Ethereum viedo līgumu “Hello World”.

Lai sāktu ar to, vispirms izveidosim jaunu direktoriju, lai saglabātu trifeļu projektu. Un tad šajā direktorijā mēs izveidosim jaunu trifeļu projektu. Atveriet jaunu termināli un izpildiet šādas komandas:

$ mkdir trifele $ cd trifeļa $ trifeļu init

The trifeļu inic komanda izveidos visus nepieciešamos failus, kas nepieciešami trifeļu projektam.

Tagad, kad mums ir viss, lai sagatavotu Ethereum viedo līgumu, sāksim rakstīt viedo līgumu “Hello World”.

Viedā līguma “Hello World” rakstīšana

Visiem līgumiem jābūt ierakstītiem “līgumu” direktorijā. Mēs pārslēgsimies uz šo direktoriju un izveidosim līgumu ar nosaukumu “HelloWorld.sol”, un šajā failā pievienosim šādas rindas:

pragma solidity ^ 0.4.15 līgums HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Tas būs īstais! Bet šo viedo līgumu pats nevar izpildīt. Mums tam būs jāveic dažas konfigurācijas.

Trifeļu migrācijas konfigurēšana

Lai migrētu mūsu viedo līgumu, mums failā būs jāpievieno fails “Migrācijas” direktorijā “Trifele” direktorijā. Šajā direktorijā mēs pievienosim failu ar nosaukumu “2_deploy_contracts.js” ar šādu saturu:

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

Saglabāt un iziet.

Lai palaistu trifeles mūsu tīklā, mums ir jārediģē “ trifeles.js Failu “Trifele” direktorijā . Atveriet šo failu un veiciet šādus ierakstus:

module.exports = {rpc: {resursdators: 'localhost', ports: 8543}, tīkli: {izstrāde: {resursdators: 'localhost', ports: 8543, network_id: '*', no: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gāze: 20000000}}}

Piezīme: Nomainiet “No” adrese ar iepriekšējā solī izveidotā konta adresi.

Ethereum Smart līguma izpilde

Šajā pēdējā Ethereum viedo līgumu apmācības sadaļā mēs redzēsim, kā mūsu “Hello World” viedo līgumu izvietot mūsu Ethereum privātajā tīklā.

Viedā līguma sastādīšana un ieviešana

Pirms mēs varam izpildīt mūsu viedo līgumu, mums tas vispirms jāapkopo un jāizvieto mūsu Ethereum privātajā tīklā. Mēs to darīsim, izmantojot šādas komandas:

$ trifeļu kompilēšana

Tagad mums ir jāatslēdz konts un jāsāk raktuves. Atgriezieties terminālā ar Geth konsoli un izpildiet šādu komandu:

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

un pēc tam dodieties atpakaļ uz termināli, kurā ir “Trifele” kā pašreizējo darba direktoriju unpalaistšādu komandu:

$ trifele migrē

Pagaidiet, līdz izvietošana būs pabeigta.

Viedā līguma izpildīšana privātajā Ethereum blokķēdē

Lai izpildītu viedo līgumu “Hello World”, mums būs jāieiet trifeļu konsolē. Lai to izdarītu, palaidiet šādu komandu:

$ trifeļu konsole

Tagad jūs atradīsities trifeļu konsolē. Lai izpildītu viedo līgumu, izpildiet šādu komandu:

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

Apsveicam! Jūs esat izveidojis savu pirmo Ethereum viedo līgumu un izpildījis to. Es ceru, ka šī Ethereum Smart līguma apmācība bija informatīva un palīdzēja jums saprast, kā izpildīt Ethereum Smart līgumu. Tagad turpiniet un mēģiniet uzrakstīt citus viedos līgumus un tos izpildīt.

leļļu šefpavāra sāls salīdzinājums

Vai mums ir jautājums? Lūdzu, ievietojiet to vietnē un mēs sazināsimies ar jums.

Ja vēlaties iemācīties Blockchain un veidot karjeru Blockchain Technologies, pārbaudiet mūsu kas nāk ar instruktoru vadītu tiešraides apmācību un reālās dzīves projektu pieredzi. Šīs apmācības palīdzēs jums izsmeļoši saprast, kas ir Blockchain, un palīdzēs jums apgūt priekšmetu.