Contracte intel·ligent Ethereum: com executar un contracte intel·ligent?



En aquest tutorial sobre contracte intel·ligent d’Ethereum, aprendreu a crear, desplegar i executar un contracte intel·ligent mitjançant la xarxa privada Truffle i Ethereum.

El principal motiu perquè Blockchain Technology aconsegueixi el seu lloc entre les millors tecnologies és pel seu caràcter descentralitzat. Tot i que l’objectiu principal de Blockchain era mantenir registres de transaccions sense una autoritat central, per automatitzar-ho, Contractes intel·ligents es van introduir. Però què després? ? En aquest tutorial d’Ethereum Smart Contract, veurem com utilitzar-lo Ethereum de tòfona i Xarxa privada Ethereum per executar un contracte intel·ligent.

T’interessa el desenvolupament d’Ethereum? Mireu aquest Live .





Veurem els temes següents en aquest tutorial d’Ethereum Smart Contract:

  1. Cas d’ús: contractes intel·ligents en procés d’assegurança
  2. Avantatges dels contractes intel·ligents
  3. Instal·lació de requisits previs
  4. Configuració del bloc Genesis
  5. Gestió de la xarxa privada Ethereum
  6. S'està creant un compte d'Ethereum
  7. Creació d’un contracte intel·ligent Ethereum
  8. Execució del contracte intel·ligent Ethereum

Cas d’ús: contractes intel·ligents en procés d’assegurança

'Sense autoritat central' és el que segueix Blockchain i és per això que es van introduir els contractes intel·ligents. Però, mai us heu preguntat com es pot utilitzar un contracte intel·ligent? Bé, en aquesta secció d’Ethereum Smart Contract, explicaré un cas d’ús de Smart Contract en el procés d’assegurança.



Vegem un exemple d’assegurança de retard de vol. Suposem que voleu agafar un vol des de la font A fins a la destinació C, però no teniu cap vol directe. Per tant, decidiu agafar un vol de connexió (a través de B). Ara, la vostra ruta serà d'A a B i després de B a C, on B és l'aeroport on canviarà els vols. Malauradament, no teniu gaire diferència horària entre els vols de A a B i de B a C. Per tant, si per casualitat, el vol de A a B es retarda, perdreu el vol de B a C. adoneu-vos-ho i, només per estalviar-vos de pèrdues importants, contracteu una assegurança de retard de vol.

Assegurança de retard de vol - Edureka

Ara, si el vostre vol d'A a B es retarda (cosa que us farà perdre el vol de B a C), se us abonarà l'import de l'assegurança. La forma normal en què funciona és que, si el vol es retarda, demaneu l’assegurança. Aleshores, algú verificarà i aprovarà l’assegurança i, finalment, obtindreu l’import de l’assegurança. Però aquest és un procés bastant llarg.



Com podeu utilitzar els contractes intel·ligents per millorar el procés d'assegurança?

Quan es tracta de transaccions financeres, i sobretot quan s’obtenen diners, “com més ràpid, millor”, oi? Per tant, vegem com els contractes intel·ligents poden accelerar el procés d’assegurança. Els contractes intel·ligents són contractes digitals que s’executen automàticament quan es compleixen determinades condicions. Es pot escriure un contracte intel·ligent per pagar l'import de l'assegurança a les persones que han optat per l'assegurança de retard de vol si el vol s'endarrereix. Per tant, quan el vol s’endarrereix i el sistema registra aquest retard, l’assegurança es paga immediatament.

Hola! quantitat de l’assegurança pagada en pocs segons. Així és com els contractes intel·ligents senzills i ràpids fan que un procés passi.

Avantatges dels contractes intel·ligents

Heu vist a l'exemple anterior com Smart Contract pot accelerar els processos financers. A part de les transaccions ràpides, els contractes intel·ligents tenen alguns avantatges més. A continuació, esmento alguns altres avantatges d'utilitzar un contracte intel·ligent:

  • Automàtic: Tots els passos en procés es produeixen automàticament amb els contractes intel·ligents
  • Sense intermediaris: Quan utilitzeu els contractes intel·ligents, no necessiteu cap intermediari per fer la feina, ja que tot serà gestionat pels contractes intel·ligents
  • Rendible: L’ús de contractes intel·ligents permetrà estalviar diners en les comissions de transaccions cobrades pels bancs i en les comissions de serveis per part dels intermediaris (si n’hi ha)

Ara, ja que sabem com es poden utilitzar els contractes intel·ligents per fer del món un lloc més ràpid, anem a la part pràctica d’aquest tutorial d’Ethereum Smart Contract.

Instal·lació de requisits previs

Per a aquest tutorial d’Ethereum Smart Contract, necessitarem cinc aplicacions importants:

  • NodeJS
  • NPM
  • Ethereum
  • Tòfona
  • Compilador de solidesa

Instal·lació de NodeJS

NodeJS és un marc JavaScript que s’utilitza per crear aplicacions de servidor. Com que fem servir una xarxa privada, NodeJS facilitarà la creació de l'aplicació de xarxa.

Per instal·lar Nodejs, executeu l'ordre següent al vostre terminal:

$ sudo apt-get install nodejs

Instal·lació de NPM

NPM significa Node Package Manager i s’utilitza per executar aplicacions Nodejs.

Per instal·lar NPM, executeu l'ordre següent al vostre terminal:

$ sudo apt-get install npm

Instal·lant Ethereum

Ethereum és una plataforma informàtica distribuïda basada en cadena de blocs de codi obert i pública per a la creació d'aplicacions descentralitzades.

Per instal·lar Ethereum, executeu l'ordre següent al vostre 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

Instal·lació de Truffle

Truffle és un entorn de desenvolupament, marc de proves i canalització d’actius per a Ethereum Blokchains.

Per instal·lar Truffle, executeu l'ordre següent al vostre terminal:

$ npm install -g tòfona

Instal·lació de Solidity Compiler

Solidity és un llenguatge de programació utilitzat per escriure Smart Contracts. Per executar contractes intel·ligents al nostre sistema, hem d’instal·lar Solidity Compiler.

Per instal·lar Solidity Compiler, executeu l'ordre següent al terminal:

$ sudo npm install -g solc

com combinar les dades al quadre

Configuració del bloc Genesis

Un bloc de Gènesi és el punt de partida d’un Blockchain i necessitem un fitxer de Gènesi per iniciar el Blockchain. En aquesta secció d’Ethereum Smart Contract, escriurem un fitxer Genesis i el configurarem per permetre’ns executar Smart Contracts.

Primer creem un directori nou i després en aquest directori crearem el fitxer de gènesi

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

Ara, introduïu les línies següents al fitxer genesis.json dossier:

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

Deseu això i sortiu.

Gestió de la xarxa privada Ethereum

En aquest tutorial d’Etheruem Smart Contract, desplegarem un Ethereum Smart Contract en una xarxa privada. Per tant, per iniciar aquesta xarxa utilitzarem l’ordre següent:

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

Abans d’anar més enllà, permeteu-me explicar alguns indicadors importants que s’utilitzen a l’ordre anterior:

datador: El directori on s’emmagatzemen les dades relacionades amb Blockchain.

rpc: Activa el servidor HTTP-RPC.

què és una instància java

rpcport i rpcaddr s'utilitzen per configurar el port i l'adreça de la xarxa respectivament.

rpcapi: Ens permet interactuar amb la xarxa Ethereum mitjançant diferents API.

Connectant Geth a Ethereum Private Blockchain

La consola Geth és la consola des d’on podem interactuar amb Ethereum Private Blockchain. Per connectar Geth a la cadena de blocs privada Ethereum, obriu un terminal nou i executeu l'ordre següent:

$ geth attach http://127.0.0.1:8543

Ara som a la consola Geth, on podem executar ordres per interactuar amb Blockchain.

S'està creant un compte d'Ethereum

Per fer qualsevol transacció, necessitem un compte. En aquesta secció del tutorial Ethereum Smart Contract, veurem com crear un nou compte Ethereum des de la consola Geth.

Seguint els passos fins ara, ja som a la consola Geth. Per crear un compte nou, executeu l'ordre següent a la consola Geth:

> Personal.newAccount ( 'seedphrase')

Substitueix el 'frase de llavor”Amb la contrasenya que voleu establir per a aquest compte.

Hem creat un compte nou, però aquest compte no té èters. Necessitemèters per fer qualsevol transacció i obtenir ètersal nostre compte, començarem a minar èters. Per començar a minar, primer hem de desbloquejar el compte. Desbloquegem el compte i comencem a minar.

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

Mentre la mineria continua succeint, algunesèterses dipositarà a aquest compte.

Nota : Aquests èters són èters ficticis i no tenen cap valor del món real.

Per comprovar el saldoètersal compte executarem l'ordre següent:

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

Quan executeu aquesta ordre a intervals regulars, veureu que el fitxerètersaugmenten a causa de la mineria.

sèrie Fibonacci c ++

Per aturar la mineria, executeu l'ordre següent:

> miner.stop ()

Creació d’un contracte intel·ligent Ethereum

Creació del projecte Truffle

Ara que ja tenim el Blockchain privat a punt, veurem com crear un contracte intel·ligent Ethereum mitjançant Truffle. Per a aquest tutorial, crearem un simple contracte intel·ligent Ethereum 'Hello World'.

Per començar, creem primer un nou directori per emmagatzemar el projecte Truffle. I després, en aquest directori, crearem un nou projecte de Truffle. Obriu un terminal nou i executeu les ordres següents:

$ mkdir trufa $ cd trufa $ trufa init

El tòfona init L'ordre crearà tots els fitxers necessaris per a un projecte de tòfona.

Ara que ja tenim tot per desplegar un contracte intel·ligent Ethereum, anem a escriure un contracte intel·ligent 'Hello World'.

Redacció d’un contracte intel·ligent “Hello World”

Tots els contractes s’han d’escriure al directori “contractes”. Canviarem a aquest directori i crearem un contracte amb el nom “HelloWorld.sol” i afegirem les línies següents en aquest fitxer:

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

Això és tot! Però aquest contracte intel·ligent no es pot executar per si mateix. Haurem de fer algunes configuracions per a això.

Configuració de la migració de tòfones

Per migrar el nostre contracte intel·ligent, haurem d'afegir un fitxer al fitxer 'Migracions' al directori 'Tòfona' directori. En aquest directori afegirem un fitxer anomenat '2_deploy_contracts.js' amb el contingut següent:

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

Guardar i sortir.

Per executar la tòfona a la nostra xarxa, hem d’editar el text ' truffle.js ”Al fitxer 'Tòfona' directori . Obriu aquest fitxer i feu les entrades següents:

module.exports = {rpc: {host: 'localhost', port: 8543}, xarxes: {desenvolupament: {host: 'localhost', port: 8543, network_id: '*', de: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Nota: Substituïu el fitxer 'De' adreça amb l'adreça del compte que heu creat al pas anterior.

Execució del contracte intel·ligent Ethereum

En aquesta darrera secció del tutorial d’Ethereum Smart Contract, veurem com implementar el nostre contracte intel·ligent “Hello World” a la nostra xarxa privada Ethereum.

Compilació i desplegament de Smart Contract

Abans d’executar el nostre contracte intel·ligent, primer hem de compilar-lo i desplegar-lo a la nostra xarxa privada Ethereum. Ho farem mitjançant les ordres següents:

$ compilació de tòfones

Ara hem de desbloquejar el nostre compte i començar a minar. Torneu al terminal amb la consola Geth i executeu l'ordre següent:

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

i després, torneu al terminal que té 'Tòfona' com el directori de treball actual icorrerl'ordre següent:

Migració de $ trufa

Espereu que es completi el desplegament.

S'està executant un contracte intel·ligent en blockchain privat Ethereum

Per executar el contracte intel·ligent 'Hello World', haurem d'entrar a la consola de tòfones. Executeu l'ordre següent per fer-ho:

$ trufa consola

Ara estareu a la consola de tòfones. Per executar el contracte intel·ligent, executeu l'ordre següent:

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

Enhorabona! Heu creat el vostre primer contracte intel·ligent Ethereum i l’heu executat. Espero que aquest tutorial d’Ethereum Smart Contract sigui informatiu i us ajudi a entendre com executar un contracte intel·ligent d’Ethereum. Ara, endavant i proveu d’escriure i executar altres contractes intel·ligents.

Tens alguna pregunta? Envieu-lo a i ens posarem en contacte amb vosaltres.

Si voleu aprendre Blockchain i construir una carrera en tecnologies Blockchain, consulteu el nostre que inclou formació en directe dirigida per un instructor i experiència en projectes reals. Aquesta formació us ajudarà a entendre què és Blockchain d’una manera exhaustiva i us ajudarà a dominar el tema.