Ethereum Smart Contract - Come eseguire uno Smart Contract?

In questo tutorial di Ethereum Smart Contract, imparerai come creare, distribuire ed eseguire uno Smart Contract utilizzando Truffle e Ethereum Private Network.

Il motivo principale per cui la tecnologia Blockchain ha ottenuto il suo posto tra le migliori tecnologie è a causa della sua natura decentralizzata. Sebbene lo scopo principale di Blockchain fosse quello di mantenere i record delle transazioni senza un'autorità centrale, per automatizzarlo, Contratti intelligenti sono stati introdotti. Ma cosa dopo ? In questo tutorial di Ethereum Smart Contract, vedremo come utilizzare Ethereum al tartufo e Rete privata Ethereum per eseguire uno Smart Contract.

Interessato allo sviluppo di Ethereum? Dai un'occhiata a questo Live .



Prenderemo in esame i seguenti argomenti in questo tutorial Ethereum Smart Contract:

  1. Caso d'uso: contratti intelligenti nel processo assicurativo
  2. Vantaggi degli smart contract
  3. Installazione dei prerequisiti
  4. Configurazione di Genesis Block
  5. Esecuzione della rete privata Ethereum
  6. Creazione di un account Ethereum
  7. Creazione di Ethereum Smart Contract
  8. Esecuzione di Ethereum Smart Contract

Caso d'uso: contratti intelligenti nel processo assicurativo

'Nessuna autorità centrale' è ciò che Blockchain segue ed è per questo che sono stati introdotti gli Smart Contracts. Ma ti sei mai chiesto come si può utilizzare uno Smart Contract? Bene, in questa sezione di Ethereum Smart Contract, spiegherò un caso d'uso di Smart Contract nel processo assicurativo.

Consideriamo un esempio di assicurazione per il ritardo del volo. Supponi di voler prendere un volo dalla sorgente A alla destinazione C ma non hai un volo diretto. Quindi, decidi di prendere un volo in coincidenza (tramite B). Ora, il tuo percorso sarà da A a B e poi da B a C, dove B è l'aeroporto, cambierai i voli. Sfortunatamente, non hai molto spazio tra i voli da A a B e da B a C. Quindi, se per caso, il volo da A a B è in ritardo, perderai il volo da B a C. renditi conto di questo e solo per salvarti da gravi perdite, prendi un'assicurazione sul ritardo del volo.

Assicurazione per ritardo del volo - Edureka

Ora, se il tuo volo da A a B è in ritardo (che ti farà perdere il volo da B a C), ti verrà pagato l'importo dell'assicurazione. Il modo normale in cui funziona è che, se il tuo volo è in ritardo, richiedi l'assicurazione. Quindi, una persona verificherà e approverà l'assicurazione e alla fine riceverai l'importo dell'assicurazione. Ma questo è un processo piuttosto lungo.

Come puoi utilizzare gli Smart Contracts per migliorare il processo assicurativo?

Quando si tratta di transazioni finanziarie, e soprattutto quando si ottengono soldi, 'il più veloce, meglio è', non è vero? Quindi, vediamo come gli Smart Contracts possono velocizzare il processo assicurativo. Gli smart contract sono contratti digitali che vengono eseguiti automaticamente quando vengono soddisfatte determinate condizioni. È possibile scrivere un contratto intelligente per pagare l'importo dell'assicurazione alle persone che hanno optato per l'assicurazione per il ritardo del volo se il volo è in ritardo. Quindi, quando il volo è in ritardo e questo ritardo viene registrato dal sistema, l'assicurazione viene pagata immediatamente.

Hola! importo dell'assicurazione pagato in pochi secondi. Questo è il modo in cui gli Smart Contract semplici e veloci realizzano un processo.

Vantaggi degli smart contract

Hai visto nell'esempio sopra come Smart Contract può velocizzare i processi finanziari. Oltre alle transazioni veloci, gli Smart Contracts hanno alcuni vantaggi in più. Qui, sto elencando alcuni altri vantaggi dell'utilizzo di uno Smart Contract:

  • Automatico: Tutti i passaggi in corso avvengono automaticamente con Smart Contracts
  • Nessun intermedio: Quando utilizzi Smart Contract, non hai bisogno di un intermediario per portare a termine il lavoro poiché tutto sarà gestito da Smart Contracts
  • Conveniente: L'utilizzo di Smart Contracts ti farà risparmiare denaro sulle commissioni di transazione addebitate dalle banche e sulle commissioni di servizio addebitate dagli intermediari (se presenti)

Ora che sappiamo come utilizzare gli Smart Contracts per rendere il mondo un posto più veloce, passiamo alla parte pratica di questo tutorial Ethereum Smart Contract.

Installazione dei prerequisiti

Per questo tutorial Ethereum Smart Contract, avremo bisogno di 5 importanti applicazioni:

  • NodeJS
  • NPM
  • Ethereum
  • Tartufo
  • Solidity Compiler

Installazione di NodeJS

NodeJS è un framework JavaScript utilizzato per creare applicazioni server. Poiché stiamo utilizzando una rete privata, NodeJS renderà facile la creazione dell'applicazione di rete.

Per installare Nodejs, esegui il seguente comando nel tuo terminale:

$ sudo apt-get install nodejs

Installazione di NPM

NPM sta per Node Package Manager e viene utilizzato per eseguire applicazioni Nodejs.

Per installare NPM, esegui il seguente comando nel tuo terminale:

come utilizzare il servizio ora
$ sudo apt-get install npm

Installazione di Ethereum

Ethereum è una piattaforma di elaborazione distribuita open source e pubblica basata su blockchain per la creazione di applicazioni decentralizzate.

Per installare Ethereum, esegui il seguente comando nel tuo terminale:

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

Installazione di tartufo

Truffle è un ambiente di sviluppo, un framework di test e una pipeline di risorse per Ethereum Blokchains.

Per installare Truffle, esegui il seguente comando nel tuo terminale:

$ npm install -g tartufo

Installazione di Solidity Compiler

Solidity è un linguaggio di programmazione utilizzato per scrivere Smart Contracts. Per eseguire contratti intelligenti sul nostro sistema, dobbiamo installare Solidity Compiler.

Per installare Solidity Compiler, esegui il seguente comando nel tuo terminale:

$ sudo npm install -g solc

Configurazione di Genesis Block

Un Genesis Block è il punto di partenza di una Blockchain e abbiamo bisogno di un file genesis per avviare la Blockchain. In questa sezione di Ethereum Smart Contract, scriveremo un file Genesis e lo configureremo per permetterci di eseguire Smart Contracts.

Creiamo prima una nuova directory e poi in quella directory creeremo il file file di genesi

$ mkdir rete ethereum $ cd rete ethereum $ nano genesis.json

Ora, inserisci le seguenti righe nel file genesis.json file:

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

Salva questo ed esci.

Esecuzione della rete privata Ethereum

In questo tutorial Etheruem Smart Contract, distribuiremo un Ethereum Smart Contract su una rete privata. Quindi, per avviare questa rete useremo il seguente comando:

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

Prima di andare oltre, lascia che ti spieghi alcuni importanti flag utilizzati nel comando precedente:

datadir: La directory in cui sono archiviati i dati relativi alla Blockchain.

rpc: Abilita il server HTTP-RPC.

rpcport e rpcaddr vengono utilizzati per impostare rispettivamente la porta e l'indirizzo della rete.

rpcapi: Ci permette di interagire con la rete Ethereum utilizzando diverse API.

Collegamento di Geth alla Blockchain privata di Ethereum

La console Geth è la console da cui possiamo interagire con la Blockchain privata di Ethereum. Per connettere Geth alla Blockchain privata di Ethereum, apri un nuovo terminale ed esegui il comando seguente:

$ geth allegare http://127.0.0.1:8543

Ora siamo nella console Geth dove possiamo eseguire comandi per interagire con la Blockchain.

Creazione di un account Ethereum

Per effettuare qualsiasi transazione, abbiamo bisogno di un account. In questa sezione del tutorial Ethereum Smart Contract, vedremo come creare un nuovo account Ethereum dalla console Geth.

Seguendo i passaggi fino ad ora, siamo già nella console Geth. Per creare un nuovo account, esegui il seguente comando nella console Geth:

> personal.newAccount ('seedphrase')

Sostituisci il 'seedphrase'Con la password che desideri impostare per questo account.

Abbiamo creato un nuovo account, ma questo account non ha etere. Abbiamo bisognoeteri per effettuare qualsiasi transazione e ottenere eterisul nostro account, inizieremo a estrarre eteri. Per iniziare il mining, dobbiamo prima sbloccare l'account. Sblocciamo l'account e iniziamo il mining.

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

Mentre il mining continua, alcunieterisarà depositato su questo conto.

Nota : Questi eteri sono eteri fittizi e non hanno alcun valore nel mondo reale.

Per controllare il saldoeterinell'account eseguiremo il seguente comando:

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

Quando esegui questo comando a intervalli regolari, vedrai che il fileeteristanno aumentando a causa del mining.

Per interrompere il mining, esegui il seguente comando:

> miner.stop ()

Creazione di Ethereum Smart Contract

Creazione progetto tartufo

Ora che abbiamo la nostra Blockchain privata tutta pronta, vedremo come creare un Ethereum Smart Contract utilizzando Truffle. Per questo tutorial, creeremo un semplice contratto Ethereum 'Hello World'.

Per iniziare, creiamo prima una nuova directory per memorizzare il progetto Truffle. E poi in quella directory creeremo un nuovo progetto Truffle. Apri un nuovo terminale ed esegui i seguenti comandi:

$ mkdir tartufo $ cd tartufo $ tartufo init

Il tartufo init Il comando creerà tutti i file necessari richiesti per un progetto tartufo.

Ora che abbiamo tutto pronto per implementare uno Smart Contract Ethereum, iniziamo a scrivere uno Smart Contract 'Hello World'.

Scrivere un contratto intelligente 'Hello World'

Tutti i contratti devono essere scritti nella directory 'contratti'. Passeremo a questa directory e creeremo un contratto con il nome 'HelloWorld.sol' e aggiungeremo le seguenti righe in questo file:

pragma solidity ^ 0.4.15 contratto HelloWorld {stringa funzione messaggio pubblico Hello () pubblico {messaggio = 'Hello World!' }}

Questo è! Ma questo Smart Contract non può essere eseguito da solo. Dovremo fare alcune configurazioni per questo.

Configurazione della migrazione del tartufo

Per migrare il nostro Smart Contract, dovremo aggiungere un file nel file 'Migrazioni' directory nel file 'tartufo' directory. In questa directory aggiungeremo un file denominato '2_deploy_contracts.js' con i seguenti contenuti in esso:

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

Salva ed esci.

Per eseguire tartufo sulla nostra rete, dobbiamo modificare il ' truffle.js 'Nel file 'tartufo' directory . Apri questo file e inserisci le seguenti voci:

module.exports = {rpc: {host: 'localhost', porta: 8543}, reti: {sviluppo: {host: 'localhost', porta: 8543, network_id: '*', da: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Nota: Sostituisci il 'a partire dal' indirizzo con l'indirizzo dell'account creato nel passaggio precedente.

Esecuzione di Ethereum Smart Contract

In questa ultima sezione del tutorial Ethereum Smart Contract, vedremo come implementare il nostro Smart Contract 'Hello World' sulla nostra rete privata Ethereum.

Compilazione e distribuzione di Smart Contract

Prima di poter eseguire il nostro contratto intelligente, dobbiamo prima compilarlo e distribuirlo alla nostra rete privata Ethereum. Lo faremo utilizzando i seguenti comandi:

$ tartufo compilare

Ora dobbiamo sbloccare il nostro account e iniziare il mining. Torna al terminale con la console Geth ed esegui il seguente comando:

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

e poi, torna al terminale che ha 'tartufo' come la presente directory di lavoro ecorrereil seguente comando:

$ tartufo migrare

Attendi il completamento della distribuzione.

Esecuzione di Smart Contract su Blockchain Ethereum privata

Per eseguire lo Smart Contract “Hello World”, dovremo entrare nella console del tartufo. Esegui il seguente comando per farlo:

$ consolle del tartufo

Ora sarai nella console del tartufo. Per eseguire lo Smart Contract, esegui il seguente comando:

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

Congratulazioni! Hai creato il tuo primo Ethereum Smart Contract e lo hai eseguito. Spero che questo tutorial di Ethereum Smart Contract sia stato informativo e ti abbia aiutato a capire come eseguire un Ethereum Smart Contract. Ora vai avanti e prova a scrivere altri Smart Contract e ad eseguirlo.

Hai domande per noi? Per favore pubblicalo su e ti risponderemo.

Se desideri imparare Blockchain e costruire una carriera nelle tecnologie Blockchain, dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a capire cos'è Blockchain in modo esaustivo e ti aiuterà a raggiungere la padronanza dell'argomento.

alla potenza di java