Les + populaires

BTC ETH SOL XRP BNB USDC USDT

Suivez-nous

Solidité pour les développeurs : bibliothèques en solidité | de Akshat Mishra | Coinmons | mars 2022

IAavec
Titres Titres

Comprenez les principes fondamentaux des bibliothèques en toute solidité et apprenez à créer la vôtre

En tant que langage de programmation, Solidity présente de nombreuses similitudes avec certains des langages les plus courants tels que Java, JavaScript et Cpp. Cependant, de nombreuses fonctionnalités sont propres à Solidity, et les bibliothèques en font partie.

Cet article fait partie de ma série Solidité pour les développeursoù j’explique Solidity d’une manière simple et pas ennuyeuse pour les développeurs.

Que sont les bibliothèques ?

Les bibliothèques sont une version simplifiée des contrats intelligents. Tout comme les contrats intelligents, vous pouvez utiliser les fonctions d’une bibliothèque dans d’autres contrats. Mais contrairement aux contrats intelligents, les bibliothèques ne peuvent pas avoir de variables d’état, ni hériter d’autres contrats.

Le but de la bibliothèque est simple, les bibliothèques reposent sur la blockchain et contiennent du code qui peut être utilisé par d’autres contrats.

Pour l’intégralité de cet article, nous utiliserons l’IDE Remix car il facilite le déploiement, l’exécution et le débogage de l’ensemble du contrat.

Création d’un fichier

Pour créer un nouveau fichier, ouvrez l’onglet de navigation Remix et cliquez sur le nouveau fichier bouton. Pour notre propos, nous allons nommer le fichier comme exemple.sol.

Définir le pragma

La première étape pour écrire un code de solidité consiste à définir le pragma. Solidity a considérablement changé au fil des ans et le pragma définit les versions du compilateur EVM pour lesquelles notre code Solidity est valide.

Image d'un extrait de code

Déclaration de la bibliothèque

Tout comme avec les contrats intelligents, nous déclarons la bibliothèque avec le bibliothèque mot-clé, suivi de l’identifiant. Nous allons nommer notre bibliothèque additionneur

Méthode de bibliothèque

Notre bibliothèque va contenir une fonction qui effectue la somme de tous les nombres d’un tableau uint.

Définir la fonction

Tout comme en JavaScript, les fonctions de Solidity sont déclarées à l’aide de la une fonction mot-clé. La fonction prend un seul argument qui est un tableau uint, avec le modificateur de mémoire.

Le modificateur ‘pur’

Le modificateur de mémoire indique au compilateur que notre variable va accéder à la mémoire de la blockchain, pure est un modificateur qui signifie essentiellement que cette fonction ne lit ni n’écrit dans aucune des variables d’état.

Définir le type de retour

Le dernier mot clé renvoie (uint) décrit le type de valeur renvoyé par cette fonction. Dans notre cas, nous renvoyons la somme de tous les entiers d’un tableau, nous renvoyons donc une variable de type uint.

Le look final

Voici un dernier aperçu de notre bibliothèque terminée.

Avec notre bibliothèque complète, nous pouvons maintenant l’utiliser dans un contrat intelligent. Si la bibliothèque existe dans le même fichier que le contrat, aucune importation n’est nécessaire.

Accéder à la bibliothèque dans le même fichier

L’accès à une bibliothèque dans un contrat, qui existe dans le même fichier nécessite donc une déclaration d’importation de toute sorte.

Pour accéder à la bibliothèque, nous avons créé un simple contrat intelligent qui contient une fonction qui appelle la fonction d’ajout de notre bibliothèque. Étant donné que la bibliothèque et le contrat existent dans le même fichier, aucune instruction d’importation n’est nécessaire.

Comprendre le contrat

Le contrat donné n’a qu’une seule fonction, la donner_somme la fonction prend un seul argument de type tableau d’entiers et utilise la méthode de la bibliothèque ajouterpour produire la somme.

external est un spécificateur d’accès, qui déclare que cette fonction de méthode ne peut être appelée que depuis l’extérieur du contrat en cours.

Accès à partir d’un autre fichier

Pour accéder à la bibliothèque à partir d’un contrat différent, nous devons utiliser le ‘importer’ déclaration. Dans Solidity, nous pouvons importer des URL et des chemins de fichiers.

Dans la déclaration d’importation, nous importons la bibliothèque qui existe dans le même dossier que notre contrat actuel et pour cela nous utilisons le chemin relatif.

Pour exécuter notre contrat intelligent, nous devons déployer le additionneur bibliothèque suivi du contrat.

Après avoir déployé ces deux fichiers, nous pouvons voir que ces deux contrats sont déployés dans le Contrats déployés section.

Nous pouvons maintenant tester notre contrat intelligent en passant un tableau d’entiers.

Et effectivement, ça marche. Cela signifie que notre bibliothèque a exécuté avec succès un contrat différent.

Cela résume à peu près ce que sont les bibliothèques et comment vous pouvez créer la vôtre. Comme mentionné précédemment, il ne s’agit que d’une version simplifiée des contrats intelligents et l’un des grands avantages de l’utilisation des bibliothèques au lieu d’hériter des contrats intelligents est qu’elles permettent d’économiser les coûts de gaz.

Si vous avez aimé cet article ou si vous l’avez trouvé utile par hasard, assurez-vous de consulter ma liste Solidité pour les développeurs.

Créer un bot de trading crypto avec Python

Générer des mots de passe avec Python

Source medium.com

Gérez vos cryptos
Bitstack
5€ offerts en Bitcoin

Donnez votre avis

Soyez le 1er à noter cet article


Partagez cet article maintenant !

Envoyez simplement nos contenus crypto et finance à vos proches.