-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Quels sont les événements d'un contrat intelligent Solidity et comment les utiliser?
Solidity events enable dApps to efficiently track and respond to on-chain activities like token transfers, NFT minting, and real-time analytics.
Jul 10, 2025 at 02:14 pm
Comprendre les événements dans Solidity Smart Contracts
Dans le domaine des contrats intelligents de Solidity , les événements servent de mécanisme crucial pour la communication entre la blockchain et les applications externes. Les événements sont essentiellement des journaux stockés sur la machine virtuelle Ethereum (EVM) et sont accessibles par des entités externes telles que les applications frontales ou les services hors chaîne. Ils permettent aux développeurs de surveiller l'activité contractuelle sans avoir à interroger constamment la blockchain pour les changements.
Un événement est déclaré dans un contrat en utilisant le mot-clé de event suivi d'un nom et des paramètres. Ces paramètres peuvent être indexés ou non indexés, ce qui affecte la façon dont ils peuvent être interrogés plus tard. Les paramètres indexés agissent comme des filtres lors de la récupération des journaux, ce qui les rend plus efficaces pour rechercher dans de grands ensembles de données.
Déclarer les événements de Solidity
Pour déclarer un événement dans un contrat intelligent Solidity, vous le définissez de manière similaire à une fonction mais avec le mot-clé event . Voici un exemple de base:
pragma solidity ^0.8.0;Contracter MyContract {event Transfer(address indexed from, address indexed to, uint amount); function sendTokens(address recipient, uint amount) public { // logic to transfer tokens emit Transfer(msg.sender, recipient, amount); }}
Dans ce cas, l'événement Transfer a trois paramètres: deux adresses ( from et to ) et un uint représentant le montant. Le mot-clé indexed permet à ces champs d'être consultables dans les journaux.
Les paramètres indexés doivent être utilisés stratégiquement car il y a une limite allant jusqu'à trois paramètres indexés par événement. Les paramètres non indexés sont toujours enregistrés mais ne peuvent pas être filtrés directement via l'interface de requête logarithmique.
Émettre des événements pendant l'exécution
Une fois un événement déclaré, il doit être déclenché lors de l'exécution d'une fonction à l'aide du mot-clé emit suivi du nom de l'événement et de ses arguments.
Voici comment les émissions fonctionnent dans la pratique:
- Lorsque la fonction
sendTokensest appelée, il exécute une logique interne. - Après le traitement de la transaction, il appelle
emit Transfer(...), qui enregistre les données de l'événement sur la blockchain.
Cet événement émis peut ensuite être capturé par des outils comme Web3.js ou Ethers.js dans des applications décentralisées (DAPP).
L'instruction emit doit toujours être placée à la fin d'une fonction si elle dépend du résultat de la logique de fonction. Cela garantit que l'événement ne tire qu'après que tous les changements d'État ont été appliqués avec succès.
Écoute d'événements à l'aide de bibliothèques Web3
Après avoir déployé un contrat avec des événements, l'étape suivante consiste à mettre en place des auditeurs pour capturer ces événements en temps réel. Voici comment le faire à l'aide de Web3.js :
- Tout d'abord, assurez-vous d'avoir accès au contrat ABI et à l'adresse.
- Créez une instance de contrat à l'aide de
web3.eth.Contract(abi, address). - Utilisez la méthode
.events.EventName()pour commencer à écouter.
Exemple:
const contract = new web3.eth.Contract(abi, contractAddress);contrat.events.transfer ({fromBlock: 0}, fonction (erreur, événement) {
console.log(event);}) .on ('data', fonction (événement) {
console.log('Event detected:', event.returnValues);}) .on ('error', console.error);
Assurez-vous de gérer correctement les erreurs et de filtrer les événements en fonction de vos besoins d'application à l'aide d'options telles que filter ou topics .
Cas d'utilisation pratiques pour les événements
Les événements ne sont pas seulement pour l'exploitation forestière - ils alimentent plusieurs fonctionnalités critiques dans les DAPP:
- Suivi des actions des utilisateurs : comme les transferts de jetons, la ponte NFT ou les résultats de vote.
- Synchronisation des systèmes backend : les services hors chaîne peuvent réagir instantanément aux événements sur chaîne.
- Audit et analyse : les événements fournissent un moyen structuré d'analyser le comportement contractuel au fil du temps.
Par exemple, un échange décentralisé pourrait émettre un événement chaque fois qu'un commerce se produit. Un tableau de bord Analytics pourrait écouter ces événements et mettre à jour les graphiques en temps réel.
Les événements sont également utiles pour déboguer les contrats intelligents pendant le développement en fournissant un aperçu du flux d'exécution et des changements d'état.
FAQ sur les événements de solidité
Q: Puis-je modifier un événement après le déploiement? Non, une fois un contrat déployé, ses définitions d'événements sont fixes. Toute modification nécessite le redéploiement du contrat.
Q: Combien de gaz consomment les événements? Les événements sont relativement peu coûteux par rapport aux opérations de stockage, mais elles coûtent toujours du gaz. Chaque journal des événements augmente l'utilisation du gaz de la transaction en fonction du nombre et de la taille des paramètres.
Q: Les événements sont-ils accessibles sur différentes blockchains? Les événements sont spécifiques à la chaîne où le contrat a été déployé. Les interactions transversales auraient besoin d'infrastructures supplémentaires comme des ponts ou des relais.
Q: Les événements persistent-ils pour toujours sur la blockchain? Oui, les événements font partie de l'histoire de la blockchain et restent accessibles tant que la chaîne existe. Cependant, l'accès aux journaux historiques peut nécessiter des nœuds d'archives ou des API tiers.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
RAIN Échangez maintenant$0.007852
113.00%
-
PIPPIN Échangez maintenant$0.06097
51.96%
-
PARTI Échangez maintenant$0.1396
42.04%
-
WAVES Échangez maintenant$0.9141
41.69%
-
ARC Échangez maintenant$0.04302
35.73%
-
HONEY Échangez maintenant$0.01029
21.80%
- Bitcoin, eCash Fork et Airdrop Dynamics : une plongée approfondie dans les dernières controverses de la cryptographie
- 2026-05-03 12:55:01
- Consensus 2026 Miami : Web3, Blockchain, Crypto-monnaie, NFT, Metaverse, conférence, 5 mai — Là où Wall Street rencontre la frontière numérique
- 2026-05-02 12:45:01
- La Fed maintient ses taux stables, déclenchant une baisse du prix du Bitcoin dans un contexte de tensions géopolitiques
- 2026-05-01 06:45:01
- Les mineurs de Bitcoin électrifient le réseau : l'acquisition d'une usine à gaz dans l'Ohio ouvre une nouvelle ère pour l'or numérique
- 2026-05-01 00:45:01
- Le jeton MEGA de MegaETH arrive dans la Big Apple : définition de nouveaux critères de performance pour la blockchain en temps réel
- 2026-05-01 00:55:01
- La pente glissante de Solana : les prévisions de prix indiquent une perte de résistance et de nouvelles baisses potentielles
- 2026-05-01 06:45:01
Connaissances connexes
Qu’est-ce qu’une inversion du taux de financement ? Pourquoi cela signale souvent un changement de sentiment du marché
Jun 14,2026 at 03:57am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 10 % sur des fenêtres de 24 heures lors d'annonces macroécon...
Comment reconnaître les signaux de manipulation du marché sur les marchés à terme des cryptomonnaies
Jun 12,2026 at 05:26pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Qu’est-ce que le piégeage à effet de levier ? Pourquoi les commerçants de détail se font souvent prendre
Jun 12,2026 at 11:53pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...
Qu'est-ce qu'une transaction en petits groupes ? Comment les traders à terme capturent les mouvements de prix importants
Jun 13,2026 at 05:19am
Comprendre les mécanismes de rupture dans les contrats à terme cryptographiques 1. Une cassure se produit lorsque le prix de Bitcoin ou de l'altco...
Quelle est la meilleure stratégie stop-loss pour les positions à terme à fort effet de levier ?
Jun 14,2026 at 02:19pm
Mécanismes Stop-Loss dans le trading de contrats à terme à fort effet de levier 1. Le placement du stop-loss doit s’aligner sur les propriétés statist...
Qu’est-ce que le trading sur grille à terme ? Les stratégies automatisées peuvent-elles réduire les risques ?
Jun 15,2026 at 11:39pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...
Qu’est-ce qu’une inversion du taux de financement ? Pourquoi cela signale souvent un changement de sentiment du marché
Jun 14,2026 at 03:57am
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 10 % sur des fenêtres de 24 heures lors d'annonces macroécon...
Comment reconnaître les signaux de manipulation du marché sur les marchés à terme des cryptomonnaies
Jun 12,2026 at 05:26pm
Bitcoin Réduire de moitié les mécanismes 1. Le protocole de Bitcoin applique un calendrier d'émission fixe dans lequel les récompenses de bloc son...
Qu’est-ce que le piégeage à effet de levier ? Pourquoi les commerçants de détail se font souvent prendre
Jun 12,2026 at 11:53pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...
Qu'est-ce qu'une transaction en petits groupes ? Comment les traders à terme capturent les mouvements de prix importants
Jun 13,2026 at 05:19am
Comprendre les mécanismes de rupture dans les contrats à terme cryptographiques 1. Une cassure se produit lorsque le prix de Bitcoin ou de l'altco...
Quelle est la meilleure stratégie stop-loss pour les positions à terme à fort effet de levier ?
Jun 14,2026 at 02:19pm
Mécanismes Stop-Loss dans le trading de contrats à terme à fort effet de levier 1. Le placement du stop-loss doit s’aligner sur les propriétés statist...
Qu’est-ce que le trading sur grille à terme ? Les stratégies automatisées peuvent-elles réduire les risques ?
Jun 15,2026 at 11:39pm
Modèles de volatilité du marché 1. Les fluctuations de prix Bitcoin dépassent souvent 5 % sur une fenêtre de 24 heures lors d'événements à forte l...
Voir tous les articles














