Ethereum Smart Contract - Cum se execută un contract Smart?



În acest tutorial Ethereum Smart Contract, veți afla cum să creați, să implementați și să executați un contract inteligent folosind Truffle și Ethereum Private Network.

Principalul motiv pentru care tehnologia Blockchain își găsește locul printre tehnologiile de vârf se datorează naturii sale descentralizate. În timp ce scopul principal al Blockchain a fost menținerea înregistrărilor tranzacțiilor fără o autoritate centrală, pentru a automatiza acest lucru, Contracte inteligente au fost introduse. Dar ce după ? În acest tutorial Ethereum Smart Contract, vom vedea cum se folosește Ethereum de trufe și Rețea privată Ethereum pentru a executa un contract inteligent.

Vă interesează dezvoltarea Ethereum? Verificați acest Live .





Vom analiza următoarele subiecte în acest tutorial Ethereum Smart Contract:

  1. Caz de utilizare: contracte inteligente în procesul de asigurare
  2. Avantajele contractelor inteligente
  3. Instalarea premiselor
  4. Configurarea blocului Genesis
  5. Rularea rețelei private Ethereum
  6. Crearea contului Ethereum
  7. Crearea unui contract inteligent Ethereum
  8. Executarea contractului Smart Ethereum

Caz de utilizare: contracte inteligente în procesul de asigurare

„Fără autoritate centrală” este ceea ce urmează Blockchain și acesta este motivul pentru care au fost introduse contracte inteligente. Dar v-ați întrebat vreodată cum poate fi utilizat un contract inteligent? Ei bine, în această secțiune a contractului inteligent Ethereum, voi explica un caz de utilizare a contractului inteligent în procesul de asigurare.



Să luăm în considerare un exemplu de asigurare de întârziere a zborului. Să presupunem că doriți să luați un zbor de la sursa A la destinația C, dar nu aveți un zbor direct. Deci, vă decideți să luați un zbor de legătură (prin B). Acum, ruta dvs. va fi de la A la B și apoi de la B la C, unde B este aeroportul în care veți schimba zborurile. Din păcate, nu aveți prea mult decalaj de timp între zborurile de la A la B și de la B la C. Deci, dacă din întâmplare, zborul de la A la B este întârziat, atunci veți pierde zborul de la B la C. realizează acest lucru și doar pentru a te salva de pierderi mari, iei o asigurare de întârziere a zborului.

Asigurare întârziere zbor - Edureka

Acum, dacă zborul dvs. de la A la B este întârziat (ceea ce vă va face să pierdeți zborul de la B la C), vi se va plăti suma asigurării. Modul normal în care funcționează este că, dacă zborul dvs. este întârziat, solicitați asigurarea. Apoi, o persoană de acolo va verifica și aproba asigurarea și, în cele din urmă, veți primi suma asigurării. Dar acesta este un proces destul de lung.



Cum puteți utiliza contractele inteligente pentru a îmbunătăți procesul de asigurare?

Când vine vorba de tranzacții financiare, și mai ales când primiți bani, „cu cât mai repede, cu atât mai bine”, nu-i așa? Așadar, să vedem cum contractele inteligente pot accelera procesul de asigurare. Contractele inteligente sunt contracte digitale care sunt executate automat atunci când sunt îndeplinite anumite condiții. Un contract inteligent poate fi scris pentru a plăti suma asigurării persoanelor care au optat pentru asigurarea de întârziere a zborului dacă zborul este întârziat. Deci, atunci când zborul este întârziat și această întârziere este înregistrată de sistem, asigurarea este plătită imediat.

Buna! suma asigurării plătită în câteva secunde. Acesta este modul în care contractele inteligente simple și rapide fac ca un proces să se întâmple.

Avantajele contractelor inteligente

Ați văzut în exemplul de mai sus cum Smart Contract poate accelera procesele financiare. În afară de tranzacțiile rapide, contractele inteligente au mai multe beneficii. Aici, enumer câteva alte avantaje ale utilizării unui contract inteligent:

  • Automat: Toți pașii în proces se întâmplă automat cu Smart Contracts
  • Fără intermediari: Când utilizați contracte inteligente, nu aveți nevoie de un intermediar pentru a face treaba, deoarece totul va fi gestionat de contracte inteligente
  • Rentabil: Utilizarea contractelor inteligente vă va economisi bani pentru comisioanele de tranzacție percepute de bănci și comisioanele pentru servicii de către intermediari (dacă există)

Acum, că știm cum pot fi folosite contractele inteligente pentru a face lumea un loc mai rapid, să trecem la partea practică a acestui tutorial Ethereum Smart Contract.

Instalarea premiselor

Pentru acest tutorial Ethereum Smart Contract, vom avea nevoie de 5 aplicații importante:

  • NodeJS
  • NPM
  • Ethereum
  • Trufa
  • Compilator de soliditate

Instalarea NodeJS

NodeJS este un cadru JavaScript care este utilizat pentru a crea aplicații server. Deoarece utilizăm o rețea privată, NodeJS va facilita construirea aplicației de rețea.

Pentru a instala Nodejs, rulați următoarea comandă în terminal:

$ sudo apt-get install nodejs

Se instalează NPM

NPM înseamnă Node Package Manager și este utilizat pentru a rula aplicații Nodejs.

Pentru a instala NPM, rulați următoarea comandă în terminal:

$ sudo apt-get install npm

Instalarea Ethereum

Ethereum este o platformă de calcul distribuită open-source și publică bazată pe blockchain pentru construirea de aplicații descentralizate.

Pentru a instala Ethereum, rulați următoarea comandă în terminal:

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

Instalarea Truffle

Truffle este un mediu de dezvoltare, un cadru de testare și o conductă de active pentru Ethereum Blokchains.

Pentru a instala Truffle, rulați următoarea comandă în terminal:

$ npm instala -g trufe

Instalarea Solidity Compiler

Soliditatea este un limbaj de programare folosit pentru a scrie contracte inteligente. Pentru a rula contracte inteligente pe sistemul nostru, trebuie să instalăm Solidity Compiler.

Pentru a instala Solidity Compiler, rulați următoarea comandă în terminal:

$ sudo npm install -g solc

inversarea unui număr în java

Configurarea blocului Genesis

Un bloc Genesis este punctul de plecare al unui Blockchain și avem nevoie de un fișier Genesis pentru a porni Blockchain. În această secțiune a contractului inteligent Ethereum, vom scrie un fișier Genesis și îl vom configura pentru a ne permite să executăm contracte inteligente.

Să creăm mai întâi un nou director și apoi în acel director vom crea dosar genesis

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

Acum, introduceți următoarele rânduri în genesis.json fişier:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'difficult': '200' 'gasLimit': '99999999999999'}

Salvați acest lucru și ieșiți.

Rularea rețelei private Ethereum

În acest tutorial Etheruem Smart Contract, vom implementa un Ethereum Smart Contract într-o rețea privată. Deci, pentru a porni această rețea vom folosi următoarea comandă:

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

Înainte de a merge mai departe, permiteți-mi să explic câteva stegulețe importante utilizate în comanda de mai sus:

datadir: Directorul în care sunt stocate datele referitoare la Blockchain.

rpc: Activează serverul HTTP-RPC.

ce este o instanță java

rpcport și rpcaddr sunt utilizate pentru a seta portul și, respectiv, adresa rețelei.

rpcapi: Ne permite să interacționăm cu rețeaua Ethereum folosind diferite API-uri.

Conectarea Geth la Ethereum Private Blockchain

Consola Geth este consola de unde putem interacționa cu Ethereum Private Blockchain. Pentru a conecta Geth la Ethereum Private Blockchain, deschideți un terminal nou și rulați comanda de mai jos:

$ geth attach http://127.0.0.1:8543

Acum, suntem în consola Geth, unde putem rula comenzi pentru a interacționa cu Blockchain.

Crearea contului Ethereum

Pentru a face orice tranzacție, avem nevoie de un cont. În această secțiune a tutorialului Ethereum Smart Contract, vom vedea cum să creați un nou cont Ethereum din consola Geth.

Urmând pașii de până acum, suntem deja în consola Geth. Pentru a crea un cont nou, rulați următoarea comandă în consola Geth:

> personal.newAccount ('seedphrase')

Inlocuieste 'semafrază”Cu parola pe care doriți să o setați pentru acest cont.

Am creat un cont nou, dar acest cont nu are eteri. Avem nevoieeteri pentru a face orice tranzacție și pentru a obține eteriîn contul nostru, vom începe să extragem eteri. Pentru a începe exploatarea, trebuie mai întâi să deblocăm contul. Să deblocăm contul și să începem exploatarea.

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

Pe măsură ce mineritul continuă, uneleeterivor fi depuse în acest cont.

Notă : Acești eteri sunt eteri fictivi și nu au nicio valoare din lumea reală.

Pentru a verifica solduleteriîn cont vom rula următoarea comandă:

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

Când executați această comandă la intervale regulate, veți vedea căetericresc din cauza exploatării miniere.

seria Fibonacci c ++

Pentru a opri extragerea, executați următoarea comandă:

> miner.stop ()

Crearea unui contract inteligent Ethereum

Crearea proiectului Truffle

Acum, că avem Blockchain-ul nostru privat gata, vom vedea cum să creăm un contract Smart Ethereum folosind Truffle. Pentru acest tutorial, vom crea un contract inteligent simplu „Hello World” Ethereum.

Pentru a începe cu aceasta, permiteți-ne să creăm mai întâi un nou director pentru a stoca proiectul Truffle. Și apoi în acel director, vom crea un nou proiect Truffle. Deschideți un terminal nou și executați comenzile de mai jos:

$ mkdir trufe $ cd trufe $ trufe init

init trufe comanda va crea toate fișierele necesare pentru un proiect de trufe.

Acum, că avem totul pentru a implementa un contract inteligent Ethereum pregătit, să începem să scriem un contract inteligent „Hello World”.

Scrierea unui contract inteligent „Hello World”

Toate contractele trebuie scrise în directorul „contracte”. Vom trece la acest director și vom crea un contract cu numele „HelloWorld.sol” și vom adăuga următoarele linii în acest fișier:

soliditatea pragmei ^ 0.4.15 contract HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Asta este! Dar acest Contract inteligent nu poate fi executat de la sine. Va trebui să facem câteva configurații pentru aceasta.

Configurarea migrării trufelor

Pentru a migra contractul nostru inteligent, va trebui să adăugăm un fișier în „Migrații” din directorul „Trufă” director. În acest director vom adăuga un fișier numit „2_deploy_contracts.js” cu următorul conținut:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = funcție (implementator) {deployer.deploy (HelloWorld)}

Salvează și ieși.

Pentru a rula trufele în rețeaua noastră, trebuie să edităm „ trufe.js ”În fișierul „Trufă” director . Deschideți acest fișier și efectuați următoarele intrări:

module.exports = {rpc: {host: 'localhost', port: 8543}, rețele: {dezvoltare: {host: 'localhost', port: 8543, network_id: '*', de la: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gaz: 20000000}}}

Notă: Inlocuieste 'din' adresa cu adresa contului pe care l-ați creat în pasul anterior.

Executarea contractului Smart Ethereum

În această ultimă secțiune a tutorialului Ethereum Smart Contract, vom vedea cum să implementăm Contractul nostru inteligent „Hello World” în rețeaua noastră privată Ethereum.

Compilarea și implementarea unui contract inteligent

Înainte de a putea executa contractul nostru inteligent, trebuie mai întâi să îl compilăm și să îl implementăm în rețeaua noastră privată Ethereum. Vom face acest lucru folosind următoarele comenzi:

$ compilare trufe

Acum, trebuie să ne deblocăm contul și să începem exploatarea. Reveniți la terminal cu consola Geth și rulați următoarea comandă:

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

și apoi, du-te înapoi la terminalul care are „Trufă” ca actual director de lucru șialergaurmătoarea comandă:

$ trufe migrează

Așteptați finalizarea implementării.

Executarea unui contract inteligent pe blockchainul privat Ethereum

Pentru a executa Contractul Smart „Hello World”, va trebui să intrăm în consola de trufe. Rulați următoarea comandă pentru a face acest lucru:

$ consolă de trufe

Vei fi acum în consola de trufe. Pentru a executa Contractul inteligent, executați următoarea comandă:

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

Felicitări! Ați creat primul dvs. contract Ethereum Smart și l-ați executat. Sper că acest tutorial Ethereum Smart Contract a fost informativ și v-a ajutat să înțelegeți cum să executați un contract Smart Ethereum. Acum, continuați și încercați să scrieți alte contracte inteligente și să le executați.

Ai o întrebare pentru noi? Vă rugăm să o postați pe și ne vom întoarce la tine.

Dacă doriți să învățați Blockchain și să construiți o carieră în tehnologiile Blockchain, atunci consultați care vine cu instruire live condusă de instructor și experiență în viața reală a proiectului. Această instruire vă va ajuta să înțelegeți ce este Blockchain într-o manieră exhaustivă și vă va ajuta să obțineți stăpânire asupra subiectului.