Ethereum Smart Contract - Comment exécuter un Smart Contract?

Dans ce didacticiel Ethereum Smart Contract, vous apprendrez à créer, déployer et exécuter un contrat intelligent à l'aide de Truffle et du réseau privé Ethereum.

La principale raison pour laquelle la technologie Blockchain trouve sa place parmi les meilleures technologies est en raison de sa nature décentralisée. Alors que l'objectif principal de Blockchain était de conserver les enregistrements des transactions sans autorité centrale, pour automatiser cela, Contrats intelligents ont été présenté. Mais que faire après ? Dans ce tutoriel Ethereum Smart Contract, nous verrons comment utiliser Truffe Ethereum et Réseau privé Ethereum pour exécuter un contrat intelligent.



Intéressé par le développement Ethereum? Découvrez ce live .



Nous examinerons les sujets suivants dans ce didacticiel Ethereum Smart Contract:

  1. Cas d'utilisation: contrats intelligents dans le processus d'assurance
  2. Avantages des contrats intelligents
  3. Installation des prérequis
  4. Configuration du bloc Genesis
  5. Exécution du réseau privé Ethereum
  6. Créer un compte Ethereum
  7. Créer un contrat intelligent Ethereum
  8. Exécution du contrat intelligent Ethereum

Cas d'utilisation: contrats intelligents dans le processus d'assurance

'Pas d'autorité centrale' est ce que Blockchain suit et c'est la raison pour laquelle les contrats intelligents ont été introduits. Mais vous êtes-vous déjà demandé comment utiliser un contrat intelligent? Eh bien, dans cette section d'Ethereum Smart Contract, je vais expliquer un cas d'utilisation de Smart Contract dans le processus d'assurance.



Prenons un exemple d’assurance retard de vol. Supposons que vous souhaitiez prendre un vol de la source A à la destination C, mais que vous n'ayez pas de vol direct. Vous décidez donc de prendre un vol de correspondance (via B). Maintenant, votre itinéraire sera de A à B, puis de B à C, où B est l'aéroport où vous allez changer les vols. Malheureusement, vous n'avez pas beaucoup de temps entre les vols de A à B et de B à C. Donc, si par hasard, le vol de A à B est retardé, vous manquerez le vol de B à C. Vous Réalisez-le et juste pour vous éviter de lourdes pertes, vous souscrivez une assurance retard de vol.

Assurance retard de vol - Edureka

Désormais, si votre vol de A à B est retardé (ce qui vous fera manquer le vol de B à C), vous serez payé le montant de l'assurance. Normalement, si votre vol est retardé, vous réclamez l'assurance. Ensuite, une personne là-bas vérifiera et approuvera l'assurance et finalement, vous obtiendrez votre montant d'assurance. Mais c'est un processus assez long.



Comment pouvez-vous utiliser les contrats intelligents pour améliorer le processus d'assurance?

En ce qui concerne les transactions financières, et en particulier lorsque vous recevez de l’argent, «plus vite, mieux c'est», n’est-ce pas? Voyons donc comment les contrats intelligents peuvent accélérer le processus d'assurance. Les contrats intelligents sont des contrats numériques qui sont automatiquement exécutés lorsque certaines conditions sont remplies. Un contrat intelligent peut être rédigé pour payer le montant de l'assurance aux personnes qui ont opté pour une assurance retard de vol si le vol est retardé. Ainsi, lorsque le vol est retardé et que ce retard est enregistré par le système, l'assurance est payée immédiatement.

Hola! montant d'assurance payé en quelques secondes. C'est ainsi que les contrats intelligents simples et rapides permettent de réaliser un processus.

Avantages des contrats intelligents

Vous avez vu dans l'exemple ci-dessus comment Smart Contract peut accélérer les processus financiers. Outre les transactions rapides, les contrats intelligents présentent d'autres avantages. Ici, j'énumère quelques autres avantages de l'utilisation d'un contrat intelligent:

  • Automatique: Toutes les étapes du processus se déroulent automatiquement avec les contrats intelligents
  • Aucun intermédiaire: Lorsque vous utilisez des contrats intelligents, vous n'avez pas besoin d'un intermédiaire pour faire le travail, car tout sera géré par des contrats intelligents
  • Rentable: L'utilisation de contrats intelligents vous permettra d'économiser de l'argent sur les frais de transaction facturés par les banques et les frais de service par les intermédiaires (le cas échéant)

Maintenant que nous savons comment les contrats intelligents peuvent être utilisés pour rendre le monde plus rapide, passons à la partie pratique de ce didacticiel Ethereum Smart Contract.

Installation des prérequis

Pour ce tutoriel Ethereum Smart Contract, nous aurons besoin de 5 applications importantes:

  • NodeJS
  • NPM
  • Ethereum
  • Truffe
  • Compilateur de solidité

Installation de NodeJS

NodeJS est un Framework JavaScript utilisé pour créer des applications serveur. Comme nous utilisons un réseau privé, NodeJS facilitera la création de l'application réseau.

Pour installer Nodejs, exécutez la commande suivante dans votre terminal:

$ sudo apt-get install nodejs

Installation de NPM

NPM signifie Node Package Manager et est utilisé pour exécuter les applications Nodejs.

Pour installer NPM, exécutez la commande suivante dans votre terminal:

$ sudo apt-get install npm

Installer Ethereum

Ethereum est une plate-forme informatique distribuée open-source et publique basée sur la blockchain pour la création d'applications décentralisées.

Pour installer Ethereum, exécutez la commande suivante dans votre 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

Installation de la truffe

Truffle est un environnement de développement, un cadre de test et un pipeline d'actifs pour Ethereum Blokchains.

Pour installer Truffle, exécutez la commande suivante dans votre terminal:

$ npm installer -g truffe  

Installer Solidity Compiler

Solidity est un langage de programmation utilisé pour écrire des contrats intelligents. Pour exécuter des contrats intelligents sur notre système, nous devons installer Solidity Compiler.

Pour installer Solidity Compiler, exécutez la commande suivante dans votre terminal:

$ sudo npm installer -g solc

Configuration du bloc Genesis

Un bloc Genesis est le point de départ d'une Blockchain et nous avons besoin d'un fichier genesis pour démarrer la Blockchain. Dans cette section d'Ethereum Smart Contract, nous allons écrire un fichier Genesis et le configurer pour nous permettre d'exécuter des Smart Contracts.

Créons d’abord un nouveau répertoire, puis dans ce répertoire nous allons créer le dossier de genèse

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

Maintenant, entrez les lignes suivantes dans le genesis.json fichier:

mémoire de pile et de tas en java
{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},  'alloc': {}, 'difficulté': '200' 'gasLimit': '99999999999999'}

Enregistrez-le et quittez.

Exécution du réseau privé Ethereum

Dans ce tutoriel Etheruem Smart Contract, nous allons déployer un Ethereum Smart Contract sur un réseau privé. Donc, pour démarrer ce réseau, nous utiliserons la commande suivante:

$ 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, personnel, mineur'

Avant d'aller plus loin, laissez-moi vous expliquer quelques indicateurs importants utilisés dans la commande ci-dessus:

datadir: Le répertoire dans lequel les données liées à la Blockchain sont stockées.

rpc: Active le serveur HTTP-RPC.

rpcport et rpcaddr sont utilisés pour définir respectivement le port et l'adresse du réseau.

rpcapi: Nous permet d'interagir avec le réseau Ethereum en utilisant différentes API.

Connecter Geth à la blockchain privée Ethereum

La console Geth est la console à partir de laquelle nous pouvons interagir avec la blockchain privée Ethereum. Pour connecter Geth à la blockchain privée Ethereum, ouvrez un nouveau terminal et exécutez la commande ci-dessous:

$ geth attach http://127.0.0.1:8543  

Maintenant, nous sommes dans la console Geth où nous pouvons exécuter des commandes pour interagir avec la Blockchain.

Créer un compte Ethereum

Pour effectuer toute transaction, nous avons besoin d'un compte. Dans cette section du didacticiel Ethereum Smart Contract, nous verrons comment créer un nouveau compte Ethereum à partir de la console Geth.

En suivant les étapes jusqu'à présent, nous sommes déjà dans la console Geth. Pour créer un nouveau compte, exécutez la commande suivante dans la console Geth:

> personal.newAccount ('seedphrase')

Remplace le 'graine”Avec le mot de passe que vous souhaitez définir pour ce compte.

Nous avons créé un nouveau compte, mais ce compte n'a pas d'éthers. Nous avons besoinethers pour effectuer n'importe quelle transaction et obtenir des etherspour notre compte, nous commencerons à extraire des éthers. Pour commencer à miner, nous devons d'abord déverrouiller le compte. Débloquons le compte et commençons à miner.

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

Alors que l'exploitation minière se poursuit, certainséthersseront déposés sur ce compte.

Remarque : Ces éthers sont éthers factices et n'ont aucune valeur réelle.

Pour vérifier le soldeéthersdans le compte, nous exécuterons la commande suivante:

> web3.fromWei (eth.getBalance (eth.coinbase), 'éther')

Lorsque vous exécutez cette commande à intervalles réguliers, vous verrez que leéthersaugmentent en raison de l'exploitation minière.

Pour arrêter l'extraction, exécutez la commande suivante:

> miner.stop ()

Créer un contrat intelligent Ethereum

Créer un projet Truffle

Maintenant que notre Blockchain privée est prête, nous allons voir comment créer un contrat intelligent Ethereum à l'aide de Truffle. Pour ce tutoriel, nous allons créer un simple contrat intelligent Ethereum «Hello World».

Pour commencer, créons d'abord un nouveau répertoire pour stocker le projet Truffle. Et puis dans ce répertoire, nous allons créer un nouveau projet Truffle. Ouvrez un nouveau terminal et exécutez les commandes ci-dessous:

différence entre lancer et lancer
$ truffe mkdir $ truffe cd $ truffe init

La truffe init La commande créera tous les fichiers nécessaires à un projet de truffe.

Maintenant que nous avons tout pour déployer un contrat intelligent Ethereum prêt, passons à l’écriture d’un contrat intelligent «Hello World».

Rédaction d'un contrat intelligent «Hello World»

Tous les contrats doivent être écrits dans le répertoire «contrats». Nous allons basculer vers ce répertoire et créer un contrat avec le nom «HelloWorld.sol» et ajouter les lignes suivantes dans ce fichier:

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

Ça y est ...! Mais ce contrat intelligent ne peut pas être exécuté par lui-même. Nous devrons faire quelques configurations pour cela.

Configurer la migration des truffes

Pour migrer notre Smart Contract, nous devrons ajouter un fichier dans le «Migrations» répertoire dans le 'truffe' annuaire. Dans ce répertoire, nous ajouterons un fichier nommé '2_deploy_contracts.js' avec le contenu suivant:

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

Sauvegarder et quitter.

Pour exécuter la truffe sur notre réseau, nous devons modifier le ' truffle.js 'Fichier dans le 'truffe' annuaire . Ouvrez ce fichier et effectuez les entrées suivantes:

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

Remarque: Remplace le 'de' adresse avec l'adresse du compte que vous avez créé à l'étape précédente.

Exécution du contrat intelligent Ethereum

Dans cette dernière section du tutoriel Ethereum Smart Contract, nous verrons comment déployer notre Smart Contract «Hello World» sur notre réseau privé Ethereum.

Compilation et déploiement de Smart Contract

Avant de pouvoir exécuter notre contrat intelligent, nous devons d'abord le compiler et le déployer sur notre réseau privé Ethereum. Nous allons le faire en utilisant les commandes suivantes:

$ truffe compile

Maintenant, nous devons déverrouiller notre compte et commencer à miner. Revenez au terminal avec la console Geth et exécutez la commande suivante:

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

puis revenez au terminal qui a 'truffe' comme répertoire de travail actuel etcourirla commande suivante:

$ truffe migrer

Attendez que le déploiement soit terminé.

Exécution d'un contrat intelligent sur la blockchain Ethereum privée

Pour exécuter le Smart Contract «Hello World», nous devrons entrer dans la console truffe. Exécutez la commande suivante pour ce faire:

$ console aux truffes

Vous serez maintenant dans la console de truffe. Pour exécuter le contrat intelligent, exécutez la commande suivante:

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

Toutes nos félicitations! Vous avez créé votre premier contrat intelligent Ethereum et l'avez exécuté. J'espère que ce didacticiel Ethereum Smart Contract a été informatif et vous a aidé à comprendre comment exécuter un contrat Ethereum Smart. Maintenant, allez-y et essayez d'écrire d'autres Smart Contracts et de les exécuter.

Vous avez une question pour nous? Veuillez le publier sur et nous reviendrons vers vous.

Si vous souhaitez apprendre la blockchain et faire carrière dans les technologies de la blockchain, consultez notre qui s'accompagne d'une formation en direct animée par un instructeur et d'une expérience de projet réelle. Cette formation vous aidera à comprendre ce qu'est la Blockchain de manière exhaustive et vous aidera à maîtriser le sujet.