Vue d'ensemble d'Ethereum
Ethereum est une plateforme logicielle distribuée à code source ouvert, basée sur la blockchain, qui s'est imposée comme un concurrent majeur du Bitcoin. Ethereum a été proposé pour la première fois en 2013 par le chercheur en crypto-monnaies Vitalik Buterin, qui a suggéré d'ajouter un langage de script pour la programmation au Bitcoin. Il a été lancé le 30 juillet 2015. Le développement d'Ethereum a été financé par une vente aux enchères en ligne, un type de crowdsourcing dans lequel des jetons de crypto-monnaie ont été émis.
En savoir plus : Qu'est-ce qu'Ethereum ?
La crypto-monnaie native d'Ethereum s'appelle Ether (ETH), et elle utilise un langage de programmation appelé Solidity. Blockchain, la technologie sous-jacente d'Ethereum, est un grand livre distribué qui tient à jour une liste permanente et infalsifiable d'enregistrements. Cette architecture décentralisée permet aux développeurs de créer une large gamme d'applications décentralisées (dApps), en tirant parti de l'écosystème robuste et de la polyvalence de la plateforme.
L'une des principales caractéristiques d'Ethereum est sa prise en charge des contrats intelligents, qui sont des contrats numériques qui s'exécutent automatiquement en fonction de conditions prédéfinies, comme nous l'avons mentionné dans la leçon 1. Ces contrats intelligents permettent de créer un environnement sans confiance où les transactions peuvent être effectuées de manière sécurisée et transparente sans nécessiter d'intermédiaires. Les mineurs du réseau Ethereum produisaient des jetons Ether, qui servent non seulement de monnaie mais aussi de moyen de paiement pour les frais d'utilisation de la plateforme. Après la "fusion", Ethereum est passé à un mécanisme de preuve d'acquisition (PoS), dans lequel les validateurs (et non les mineurs) valident les transactions et créent de nouveaux blocs. Au lieu de produire des jetons Ether, les validateurs gagnent des frais de transaction et des récompenses de bloc en Ether pour leur participation au réseau. L'Ether sert toujours à payer les frais d'utilisation de la plateforme, mais son émission et sa distribution diffèrent de l'ancien mécanisme de preuve de travail (PoW).
La capacité d'Ethereum à héberger des dApps et des contrats intelligents a suscité un intérêt significatif de la part des développeurs et des organisations, ce qui en fait une plateforme de premier plan pour la construction de solutions innovantes dans divers secteurs, notamment la finance, la chaîne d'approvisionnement et les jeux, entre autres. Alors que l'écosystème Ethereum continue d'évoluer, il reste à l'avant-garde de la technologie blockchain, stimulant l'innovation et encourageant une communauté florissante de développeurs et d'utilisateurs.
En savoir plus : Qu'est-ce que la fusion ?
En savoir plus : Qu'est-ce que la DApp? ?
Introduction au langage de programmation Solidity
Solidity est un langage de programmation de haut niveau, à typage statique, spécialement conçu pour écrire des contrats intelligents sur la blockchain Ethereum. Développée par l'équipe centrale d'Ethereum, la syntaxe de Solidity est influencée par JavaScript, ce qui la rend familière et accessible à un large éventail de développeurs. Le langage est Turing-complet, ce qui permet aux développeurs de créer une logique complexe et de mettre en œuvre diverses fonctionnalités dans leurs contrats intelligents. Solidity se compile en bytecode de machine virtuelle Ethereum (EVM), qui est exécuté sur le réseau Ethereum.
Dans Solidity, les développeurs peuvent définir des structures de données personnalisées, créer des fonctions définies par l'utilisateur et mettre en œuvre des mécanismes de contrôle d'accès, entre autres. Avec Solidity, il est possible de créer un large éventail d'applications décentralisées, y compris des plateformes financières décentralisées (DeFi), des jetons non fongibles (NFT), des organisations autonomes décentralisées (DAO), et plus encore.
Structure d'un contrat Solidity : exemple
Un contrat Solidity est un morceau de code autonome qui se compose de variables, de fonctions, d'événements et de modificateurs, entre autres éléments. La structure de base d'un contrat Solidity est la suivante :
Directive Pragma : Cette ligne spécifie la version du compilateur Solidity compatible avec le contrat intelligent. Par exemple :
Solidity
pragma solidity ^0.8.0 ;
Définition du contrat : Cette ligne déclare le contrat et son nom. \
Par exemple :
Solidity
contrat SimpleToken {
Variables d'état : Il s'agit de variables qui stockent l'état du contrat sur la blockchain. Par exemple, vous pouvez stocker l'offre totale d'un jeton :
Solidity
uint256 public totalSupply ;
Les fonctions : Les fonctions définissent le comportement du contrat et peuvent être appelées par des utilisateurs externes ou d'autres contrats. Voici une fonction simple pour transférer des jetons :
Solidity
function transfer(address recipient, uint256 amount) public {
// ... transfer logic ...
}
Événements : Les événements sont utilisés pour enregistrer des actions spécifiques dans le contrat et peuvent être contrôlés par des utilisateurs externes ou des contrats. Par exemple, un événement de transfert dans un contrat de jetons :
Solidity
event Transfer(address indexed from, address indexed to, uint256 value) ;
Modificateurs : Les modificateurs sont utilisés pour modifier le comportement des fonctions, généralement à des fins de contrôle d'accès ou de vérification des conditions préalables. Par exemple, un modificateur pour vérifier si l'expéditeur a suffisamment de jetons à transférer :
JavaScript
modificateur hasEnoughTokens(uint256 amount) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
Constructeur : Le constructeur est une fonction spéciale qui initialise les variables d'état du contrat lors de son déploiement. Par exemple, l'initialisation de l'offre totale d'un jeton :
JavaScript
constructor(uint256 _totalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
Pour résumer, un contrat Solidity simple pour un jeton peut ressembler à ceci :
TypeScript
pragma solidity ^0.8.0 ;
contrat SimpleToken {
uint256 public totalSupply ;
mapping(address => uint256) public balanceOf ;
event Transfer(address indexed from, address indexed to, uint256 value) ;
modifier hasEnoughTokens(uint256 amount) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Points forts
Ethereum est une plateforme basée sur la blockchain qui prend en charge les contrats intelligents et les applications décentralisées (dApps).
La crypto-monnaie native d'Ethereum est l'Ether (ETH).
Solidity est un langage de programmation de haut niveau utilisé pour écrire des contrats intelligents sur Ethereum.
Les contrats intelligents sur Ethereum s'exécutent automatiquement sur la base de conditions prédéfinies.
Ethereum est passé à un mécanisme de preuve d'enjeu (PoS) pour valider les transactions et créer de nouveaux blocs.
Solidity permet aux développeurs de définir des structures de données, de créer des fonctions, de mettre en œuvre un contrôle d'accès, etc.
L'écosystème d'Ethereum attire des développeurs et des organisations de différents secteurs.
Les contrats Solidity sont constitués de pragmas, de définitions de contrats, de variables d'état, de fonctions, d'événements, de modificateurs et de constructeurs.
Les contrats Solidity peuvent être utilisés pour créer des plateformes DeFi, des NFT, des DAO, etc.
Vue d'ensemble d'Ethereum
Ethereum est une plateforme logicielle distribuée à code source ouvert, basée sur la blockchain, qui s'est imposée comme un concurrent majeur du Bitcoin. Ethereum a été proposé pour la première fois en 2013 par le chercheur en crypto-monnaies Vitalik Buterin, qui a suggéré d'ajouter un langage de script pour la programmation au Bitcoin. Il a été lancé le 30 juillet 2015. Le développement d'Ethereum a été financé par une vente aux enchères en ligne, un type de crowdsourcing dans lequel des jetons de crypto-monnaie ont été émis.
En savoir plus : Qu'est-ce qu'Ethereum ?
La crypto-monnaie native d'Ethereum s'appelle Ether (ETH), et elle utilise un langage de programmation appelé Solidity. Blockchain, la technologie sous-jacente d'Ethereum, est un grand livre distribué qui tient à jour une liste permanente et infalsifiable d'enregistrements. Cette architecture décentralisée permet aux développeurs de créer une large gamme d'applications décentralisées (dApps), en tirant parti de l'écosystème robuste et de la polyvalence de la plateforme.
L'une des principales caractéristiques d'Ethereum est sa prise en charge des contrats intelligents, qui sont des contrats numériques qui s'exécutent automatiquement en fonction de conditions prédéfinies, comme nous l'avons mentionné dans la leçon 1. Ces contrats intelligents permettent de créer un environnement sans confiance où les transactions peuvent être effectuées de manière sécurisée et transparente sans nécessiter d'intermédiaires. Les mineurs du réseau Ethereum produisaient des jetons Ether, qui servent non seulement de monnaie mais aussi de moyen de paiement pour les frais d'utilisation de la plateforme. Après la "fusion", Ethereum est passé à un mécanisme de preuve d'acquisition (PoS), dans lequel les validateurs (et non les mineurs) valident les transactions et créent de nouveaux blocs. Au lieu de produire des jetons Ether, les validateurs gagnent des frais de transaction et des récompenses de bloc en Ether pour leur participation au réseau. L'Ether sert toujours à payer les frais d'utilisation de la plateforme, mais son émission et sa distribution diffèrent de l'ancien mécanisme de preuve de travail (PoW).
La capacité d'Ethereum à héberger des dApps et des contrats intelligents a suscité un intérêt significatif de la part des développeurs et des organisations, ce qui en fait une plateforme de premier plan pour la construction de solutions innovantes dans divers secteurs, notamment la finance, la chaîne d'approvisionnement et les jeux, entre autres. Alors que l'écosystème Ethereum continue d'évoluer, il reste à l'avant-garde de la technologie blockchain, stimulant l'innovation et encourageant une communauté florissante de développeurs et d'utilisateurs.
En savoir plus : Qu'est-ce que la fusion ?
En savoir plus : Qu'est-ce que la DApp? ?
Introduction au langage de programmation Solidity
Solidity est un langage de programmation de haut niveau, à typage statique, spécialement conçu pour écrire des contrats intelligents sur la blockchain Ethereum. Développée par l'équipe centrale d'Ethereum, la syntaxe de Solidity est influencée par JavaScript, ce qui la rend familière et accessible à un large éventail de développeurs. Le langage est Turing-complet, ce qui permet aux développeurs de créer une logique complexe et de mettre en œuvre diverses fonctionnalités dans leurs contrats intelligents. Solidity se compile en bytecode de machine virtuelle Ethereum (EVM), qui est exécuté sur le réseau Ethereum.
Dans Solidity, les développeurs peuvent définir des structures de données personnalisées, créer des fonctions définies par l'utilisateur et mettre en œuvre des mécanismes de contrôle d'accès, entre autres. Avec Solidity, il est possible de créer un large éventail d'applications décentralisées, y compris des plateformes financières décentralisées (DeFi), des jetons non fongibles (NFT), des organisations autonomes décentralisées (DAO), et plus encore.
Structure d'un contrat Solidity : exemple
Un contrat Solidity est un morceau de code autonome qui se compose de variables, de fonctions, d'événements et de modificateurs, entre autres éléments. La structure de base d'un contrat Solidity est la suivante :
Directive Pragma : Cette ligne spécifie la version du compilateur Solidity compatible avec le contrat intelligent. Par exemple :
Solidity
pragma solidity ^0.8.0 ;
Définition du contrat : Cette ligne déclare le contrat et son nom. \
Par exemple :
Solidity
contrat SimpleToken {
Variables d'état : Il s'agit de variables qui stockent l'état du contrat sur la blockchain. Par exemple, vous pouvez stocker l'offre totale d'un jeton :
Solidity
uint256 public totalSupply ;
Les fonctions : Les fonctions définissent le comportement du contrat et peuvent être appelées par des utilisateurs externes ou d'autres contrats. Voici une fonction simple pour transférer des jetons :
Solidity
function transfer(address recipient, uint256 amount) public {
// ... transfer logic ...
}
Événements : Les événements sont utilisés pour enregistrer des actions spécifiques dans le contrat et peuvent être contrôlés par des utilisateurs externes ou des contrats. Par exemple, un événement de transfert dans un contrat de jetons :
Solidity
event Transfer(address indexed from, address indexed to, uint256 value) ;
Modificateurs : Les modificateurs sont utilisés pour modifier le comportement des fonctions, généralement à des fins de contrôle d'accès ou de vérification des conditions préalables. Par exemple, un modificateur pour vérifier si l'expéditeur a suffisamment de jetons à transférer :
JavaScript
modificateur hasEnoughTokens(uint256 amount) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
Constructeur : Le constructeur est une fonction spéciale qui initialise les variables d'état du contrat lors de son déploiement. Par exemple, l'initialisation de l'offre totale d'un jeton :
JavaScript
constructor(uint256 _totalSupply) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
Pour résumer, un contrat Solidity simple pour un jeton peut ressembler à ceci :
TypeScript
pragma solidity ^0.8.0 ;
contrat SimpleToken {
uint256 public totalSupply ;
mapping(address => uint256) public balanceOf ;
event Transfer(address indexed from, address indexed to, uint256 value) ;
modifier hasEnoughTokens(uint256 amount) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Points forts
Ethereum est une plateforme basée sur la blockchain qui prend en charge les contrats intelligents et les applications décentralisées (dApps).
La crypto-monnaie native d'Ethereum est l'Ether (ETH).
Solidity est un langage de programmation de haut niveau utilisé pour écrire des contrats intelligents sur Ethereum.
Les contrats intelligents sur Ethereum s'exécutent automatiquement sur la base de conditions prédéfinies.
Ethereum est passé à un mécanisme de preuve d'enjeu (PoS) pour valider les transactions et créer de nouveaux blocs.
Solidity permet aux développeurs de définir des structures de données, de créer des fonctions, de mettre en œuvre un contrôle d'accès, etc.
L'écosystème d'Ethereum attire des développeurs et des organisations de différents secteurs.
Les contrats Solidity sont constitués de pragmas, de définitions de contrats, de variables d'état, de fonctions, d'événements, de modificateurs et de constructeurs.
Les contrats Solidity peuvent être utilisés pour créer des plateformes DeFi, des NFT, des DAO, etc.