-
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%
Quelles sont les fonctions et les fonctions pures de la solidité?
In Solidity, view functions read blockchain data without modifying it, while pure functions perform calculations without accessing or altering state variables.
Jul 22, 2025 at 12:00 pm
Comprendre le concept de vision des fonctions dans la solidité
Dans Solidity, une fonction de vue est un type de fonction qui promet de ne pas modifier l'état de la blockchain. Ces fonctions sont généralement utilisées pour récupérer des données de la blockchain sans modifier aucune valeur. Lorsqu'une fonction est marquée comme vue , elle garantit qu'elle ne lit que des données et n'effectue aucune opération qui modifie l'état, comme l'écriture en variables, la création de contrats ou l'envoi de l'éther.
L'une des principales caractéristiques des fonctions de vue est qu'elles peuvent être appelées sans encourir de frais de gaz. En effet, ils ne modifient pas l'état et, par conséquent, ils peuvent être exécutés localement par un nœud sans avoir besoin d'une transaction. Les développeurs utilisent souvent des fonctions de vue pour fournir un accès externe aux données du contrat, telles que la question des soldes, la récupération des valeurs de cartographie ou le renvoi de l'état actuel d'un contrat.
Il est important de noter que si une fonction de vue tente de modifier l'état, le compilateur de solidité lancera une erreur. Cela garantit que les développeurs adhèrent au comportement prévu de ces fonctions et maintiennent l'intégrité de la blockchain.
Explorer des fonctions pures dans la solidité
Une fonction pure dans la solidité est encore plus restrictive qu'une fonction de vue . Une fonction pure évite non seulement la modification de l'état, mais évite également la lecture de l'état. Ces fonctions sont utilisées lorsque la sortie dépend uniquement des paramètres d'entrée et ne s'appuie pas sur des données stockées dans le contrat.
Comme les fonctions de vue , les fonctions pures ne nécessitent pas de gaz pour s'exécuter lorsqu'ils sont appelés externes, car ils n'interagissent pas avec l'état de la blockchain. Ils sont particulièrement utiles pour effectuer des calculs ou des transformations en fonction des valeurs d'entrée, telles que le hachage, les opérations mathématiques ou les manipulations de chaînes.
Si une fonction pure essaie de lire ou d'écrire à l'état, le compilateur augmentera une erreur. Cette application stricte aide à prévenir les effets secondaires involontaires et garantit que ces fonctions restent déterministes et prévisibles.
Comment déclarer la vue et les fonctions pures
Déclarer une vue ou une fonction pure dans la solidité est simple. Les deux mots clés sont ajoutés à la définition de la fonction après la liste des paramètres mais avant l'instruction RETOUR. Voici comment vous pouvez les déclarer:
Pour une fonction de vue :
function getBalance(address account) public view returns (uint) {return balances[account];}
Pour une fonction pure :
function add(uint a, uint b) public pure returns (uint) {return a + b;}
Dans le premier exemple, le mot-clé View indique que la fonction ne se lira qu'à partir des balances de variable d'état. Dans le deuxième exemple, le mot-clé pur garantit que la fonction ne lit ni n'écrit les variables d'état et effectue uniquement un calcul basé sur les paramètres fournis.
Ces modificateurs sont essentiels pour optimiser l'utilisation du gaz et assurer le comportement correct des contrats intelligents.
Cas d'utilisation courants pour la vue et les fonctions pures
Les fonctions de vue sont couramment utilisées pour:
- Récupération des soldes ou d'autres variables d'État
- Métadonnées du contrat de retour
- Fournir des informations sur l'état interne sans le modifier
Les fonctions pures sont généralement utilisées pour:
- Effectuer des calculs mathématiques
- Données de hachage ou d'encodage
- Valider les paramètres d'entrée sans accéder à l'état du contrat
En utilisant ces types de fonctions de manière appropriée, les développeurs peuvent s'assurer que leurs contrats sont efficaces, prévisibles et à l'abri des modifications involontaires.
Meilleures pratiques lors de l'utilisation de la vue et des fonctions pures
- Marquez toujours les fonctions comme une vue ou pure si elles répondent aux critères. Cela aide à optimiser les coûts des gaz et améliore la lisibilité du code.
- Évitez d'utiliser la vue ou les fonctions pures lorsque vous devez effectuer des changements d'état. Cela entraînera une erreur de compilation.
- Utilisez des fonctions pures pour les opérations utilitaires qui ne reposent pas sur l'état du contrat.
- Soyez prudent lorsque vous utilisez des appels externes dans la vue ou les fonctions pures . Bien que le compilateur le permette, l'appel des contrats externes peut introduire un comportement inattendu ou des changements d'état.
Suivre ces meilleures pratiques garantit que votre contrat intelligent reste sécurisé, efficace et facile à comprendre pour les autres développeurs.
Section FAQ
Q: Une fonction de vue peut-elle appeler une fonction pure? Oui, une fonction de vue peut appeler une fonction pure sans aucun problème car les deux ne modifient pas l'état.
Q: Est-il possible d'avoir une fonction à la fois la vue et pure? Non, une fonction ne peut pas être à la fois la vue et pure . Le modificateur pur est plus restrictif et implique que la fonction ne lit pas non plus l'état.
Q: Que se passe-t-il si j'essaie de modifier l'état dans une fonction pure? Le compilateur de solidité lancera une erreur si une fonction pure tente de lire ou d'écrire à l'état.
Q: La vision et les fonctions pures coûtent-elles le gaz lorsqu'ils sont appelés externes? Non, la vue d'appel ou les fonctions pures ne coûte pas le gaz car elles ne modifient pas l'état de la blockchain.
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 chute au milieu des avertissements des analystes et de l'évolution du sentiment du marché
- 2026-02-05 09:40:02
- Georgia Brothers condamné à 20 ans de prison pour un système de fraude au jeu élaboré par la COAM
- 2026-02-05 09:45:01
- Perte d'actions MicroStrategy : les fonds de pension font face à une chute de 60 % au milieu de la volatilité des cryptomonnaies
- 2026-02-05 10:55:01
- Super Bowl LX : Teddy Swims, Green Day et un ensemble de tirages d'héritage pour l'extravagance 2026
- 2026-02-05 07:20:02
- Fantasy Football Premier League Round 25 : choix des joueurs clés, astuces et conseils pour une performance optimale de l'équipe
- 2026-02-05 07:15:02
- Remittix lance la plateforme PayFi avec une généreuse offre de bonus de 300 %, suscitant l'enthousiasme des investisseurs
- 2026-02-05 07:05:01
Connaissances connexes
Comment gérer les émotions et le « trading de vengeance » dans les contrats à terme ?
Feb 05,2026 at 12:19am
Comprendre les déclencheurs émotionnels sur les marchés à terme 1. La volatilité des marchés a un impact direct sur les états psychologiques, amplifia...
Comment analyser le sentiment du marché à l’aide de l’indice de peur et de cupidité ?
Feb 05,2026 at 07:40am
Comprendre l'indice de peur et de cupidité 1. L’indice de peur et de cupidité est une mesure composite conçue pour quantifier les états émotionnel...
Comment utiliser le profil de volume pour trouver les niveaux d’entrée clés des contrats à terme ?
Feb 04,2026 at 11:39pm
Comprendre la structure du profil de volume 1. Le profil de volume affiche la répartition du volume négocié à des niveaux de prix spécifiques sur une ...
Comment négocier des contrats à terme Bitcoin avec un effet de levier 100x ? (Configuration à haut risque)
Feb 05,2026 at 11:00am
Comprendre Bitcoin la mécanique des contrats à terme 1. Les contrats à terme Bitcoin représentent des accords d'achat ou de vente de BTC à un prix...
Comment maximiser l’efficacité du capital à l’aide du trading sur marge croisée ?
Feb 05,2026 at 12:40am
Fondamentaux du trading sur marge croisée 1. Le trading sur marge croisée permet aux traders d'utiliser l'intégralité du solde de leur compte ...
Comment échanger des contrats cryptographiques lors d’événements d’actualité majeurs ? (IPC/FOMC)
Feb 05,2026 at 09:59am
Comprendre la sensibilité du marché aux publications de données macro 1. Les marchés à terme des cryptomonnaies affichent une volatilité prononcée lor...
Comment gérer les émotions et le « trading de vengeance » dans les contrats à terme ?
Feb 05,2026 at 12:19am
Comprendre les déclencheurs émotionnels sur les marchés à terme 1. La volatilité des marchés a un impact direct sur les états psychologiques, amplifia...
Comment analyser le sentiment du marché à l’aide de l’indice de peur et de cupidité ?
Feb 05,2026 at 07:40am
Comprendre l'indice de peur et de cupidité 1. L’indice de peur et de cupidité est une mesure composite conçue pour quantifier les états émotionnel...
Comment utiliser le profil de volume pour trouver les niveaux d’entrée clés des contrats à terme ?
Feb 04,2026 at 11:39pm
Comprendre la structure du profil de volume 1. Le profil de volume affiche la répartition du volume négocié à des niveaux de prix spécifiques sur une ...
Comment négocier des contrats à terme Bitcoin avec un effet de levier 100x ? (Configuration à haut risque)
Feb 05,2026 at 11:00am
Comprendre Bitcoin la mécanique des contrats à terme 1. Les contrats à terme Bitcoin représentent des accords d'achat ou de vente de BTC à un prix...
Comment maximiser l’efficacité du capital à l’aide du trading sur marge croisée ?
Feb 05,2026 at 12:40am
Fondamentaux du trading sur marge croisée 1. Le trading sur marge croisée permet aux traders d'utiliser l'intégralité du solde de leur compte ...
Comment échanger des contrats cryptographiques lors d’événements d’actualité majeurs ? (IPC/FOMC)
Feb 05,2026 at 09:59am
Comprendre la sensibilité du marché aux publications de données macro 1. Les marchés à terme des cryptomonnaies affichent une volatilité prononcée lor...
Voir tous les articles














