0xNekr Profile picture
Jun 22 24 tweets 12 min read
[#THREAD] Intéragir directement avec un Smart Contract

Difficulté technique : ★☆☆☆☆

Mint sans passer par une dApp, transférer un NFT, on a plein de raisons de vouloir intéragir avec un Smart Contract.

Mais comment faire ?

#Web3 #SmartContracts #NFT #Crypto

⬇️ Image
Interagir en direct avec un contrat a beaucoup d'avantages.

Notamment lorsqu'une #dApp ne fonctionne pas ou ne propose pas certaines fonctionnalités comme le transfert par exemple.

Cela va nous permettre d'avoir accès à toutes les fonctions publiques et externes !

1/22
> Le scope

Aujourd'hui je ne parle que des contrats qui sont déployés sur Ethereum et toutes les EVMs (AVAX, BSC, Fantom, Polygon, etc..)

Ce qui couvre déjà une belle partie de notre écosystème !

On est parti

⬇️

2/22
> Les prérequis

Afin d'intéragir avec un contrat il faut que certaines conditions soient réunies :

• Connaître la blockchain.
• Connaître l'adresse du contrat.
• Que le contrat soit vérifié par le développeur.

On va partir du principe qu'on est sur #AVAX

3/22
Je pars du principe que vous connaissez la blockchain et l'adresse du contrat, mais du coup...

Comment savoir si ce dernier est bien vérifié ? Et qu'est-ce que “vérifier son contrat” ?

4/22
> Un contrat vérifié ? Kesako ?

Vérifier un contrat c'est rendre le code de ce dernier accessible à tous !

Pas de surprise avec un contrat vérifié, vous pouvez lire le code pour vous assurer qu'il n'y a pas de fonction étrange qui pourrait laisser croire à un scam/rug...

5/22
Mais attention, un contrat non vérifié n'est pas spécialement un redflag ! Parfois ne pas montrer le code au grand public peut protéger (un peu) de certaines attaques.

Mais il permet surtout de garder la propriété de votre code, personne ne pourra le lire!

6/22
Pour résumer :

Contrat vérifié -> Transparence et accessibilité.

Contrat non vérifié -> Code non lisible (mais pas spécialement négatif).

7/22
> Comment voir si un contrat est vérifié ?

Pour ça on se rend sur l'explorateur de block de notre blockchain avec l'adresse du contrat. Je vais prendre @HiveFiveNFT en exemple.

On se rend sur #Snowtrace à l'adresse du contrat :

snowtrace.io/address/0x1FC0…

8/22
@HiveFiveNFT Voici ce qu'on voit en arrivant sur la page du contrat :

Et d'un coup d'œil nous pouvons voir que le contrat est bel et bien vérifié car il possède la petite pastille verte ✅ de vérification au niveau de l'onglet "contrat" !

⬇️

9/22 Image
@HiveFiveNFT Et si on se rend dans l'onglet "Contrat" > "Code" on peut lire l'entièreté du code du contrat.

Tips : Un très bon exercice pour les devs en formation -> lire les contrats des projets qui se sont bien déroulés !

10/22 Image
@HiveFiveNFT > Interagir avec le contrat

Nous y sommes !

Les deux onglets intéressants sont "Read Contract" & "Write Contract".

Le premier permet d'appeler toutes les fonctions de lecture, sans même se connecter à MM ou autre, et donc sans payer de gas !

Regardons ça ⬇️

11/22 Image
@HiveFiveNFT On a accès à toutes les fonctions publiques/externes et on va pouvoir les appeler.

Exemple avec la fonction "ownerOf()" qui retourne l'adresse qui possède un NFT en fonction d'un ID.

Ici on rentre l'ID 577, puis on clique sur "query"... et voilà l'adresse ! (C'est moi)

12/22 Image
@HiveFiveNFT Pas plus compliqué que ça pour les fonctions de lecture !

C'est sympa de pouvoir parcourir les différentes fonctions dans un premier temps. Il faut être curieux et tester, on est sur de la lecture donc impossible de faire une bêtise.

Place à l'écriture !

13/22
@HiveFiveNFT > Onglet "Read Contract"

La première chose à faire est de se connecter...l'avantage de passer par le contrat, c'est que vous pouvez vous connecter via Wallet Connect si la dApp ne supporte que MM par exemple !

On clique sur le bouton et on se connecte simplement !

14/22 Image
@HiveFiveNFT Et une fois connecté je peux voir avec quelle adresse je suis !

Comme pour la lecture, j'ai accès à toutes les fonctions publiques/externes du contrat.

Attention, certaines sont présentes mais ne sont appelables que par le propriétaire du contrat.

15/22 Image
@HiveFiveNFT Mais ne vous inquiétez pas, MM saura vous dire que vous ne pouvez pas appeler la fonction parce qu’elle est vouée à échouer.

Par exemple, si j'essaie de retirer les fonds du contrat sans être propriétaire, MM m'indique bien que la transaction va échouer.

16/22 Image
@HiveFiveNFT Revenons à un cas pratique... concours des 1000 abonnés, je vous fais gagner un NFT de HiveFive... mais comment le transférer ?

Et bien ici via le contrat !

On regarde comment faire cela

⬇️

17/22
@HiveFiveNFT On utilise la fonction standard d'#ERC721 "safeTransferFrom" avec :

from : mon adresse to : l'adresse du gagnant du concours (abonne-toi ahah) tokenId : l'ID du NFT à envoyer

On clique sur "write"... MM s'ouvre... on valide la transaction...

Et c'est tout ! 🔥

18/22 Image
@HiveFiveNFT Félicitation !

Vous venez d'interagir directement avec un Smart Contract sans passer par une application tiers !

C'était simple non ?

Il existe plein de fonctions, à vous d'être curieux, lire le code, tester, etc...

19/22
@HiveFiveNFT Après coup, on se rend compte à quel point une telle interaction peut être simple. Encore faut-il savoir comment faire.

C'est votre cas maintenant ! Et croyez moi, sur un mint par exemple, cela peut-être vraiment très utile !

20/22
@HiveFiveNFT J'espère que cela vous a plu et que vous avez trouvé ça intéressant.

Abonnez-vous pour toujours plus de contenu tech ! On est bientôt 1000, c'est incroyable, merci énormément de votre soutien !

21/22
@HiveFiveNFT Comme d'habitude, un grand merci aux boss qui me soutiennent

@CrypToma8 & @CryptoLidl

Et @GoodValueCrypto & tout @CryptApeDAO

Vous pouvez nous rejoindre dans notre antre afin de build pendant ce bear market !

discord.gg/ZzJYZWfp

À très vite 🔥

22/22
Merci de m'avoir lu ! On hésite pas à s'abonner 🔥

⬇️

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with 0xNekr

0xNekr Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @0xNekr

Jun 14
[#THREAD] On créé un contrat ERC721 pas à pas v.2

Difficulté technique : ★★★★☆

On améliore notre dernier contrat : il est temps de rajouter des étapes de vente et surtout... une whitelist !

#Web3 #Solidity #SmartContracts #NFT #Crypto #Whitelist

⬇️

1/21 Image
Notre objectif est de rajouter et modifier certaines caractéristiques :

• Ajouter des étapes de vente.
• Ajouter une vente en whitelist avec un arbre de Merkle.
• Un prix de vente de 0.01 ether en vente publique.
• Un prix de vente de 0.005 ether en whitelist.

2/21
Avant de continuer, si ce n'est pas déjà le cas, je vous conseille fortement de suivre mon premier thread sur la première étape de développement du contrat.

Il permet de poser les bases nécessaires pour comprendre ce qui suit !



3/21
Read 22 tweets
Jun 7
[#THREAD DE MES THREADS💻]

Histoire de facilement tout retrouver, voici mes threads dans l'ordre de publication ! 🥳

Design by @CryptoLidl 🔥

#ERC721 #Solidity #EVM #Eth #Crypto #Dev Image
Read 5 tweets
Jun 6
[#THREAD] Comment devenir développeur Solidity ?

C'est la question qu'on me pose le plus régulièrement !

Je ne suis pas sûr d'avoir la réponse, mais mon parcours est le suivant...

#Web3 #Solidity #SmartContract #NFT #Crypto #ETH

⬇️ 1/20 Image
[Prélude]

Je suis développeur de formation, j'ai des appétences pour le développement et ça m'a aidé à aller beaucoup plus vite !

Mais rien n'est impossible même si vous n'avez pas les bases (avec du temps et de l'envie on peut tout faire).

2/20
Je vais aborder exclusivement mon parcours entre mon apprentissage de Solidity jusqu'à mes premiers projets.

Mais si vous partez de 0, il est important selon moi de comprendre et maîtriser au moins les points qui suivent :

• HTML/CSS/JS
• Un framework JS
• La POO

3/20
Read 21 tweets
May 31
[#THREAD] Déployer et tester son premier smart contract

Difficulté technique : ★☆☆☆☆

La dernière fois on a développé notre premier smart contrat…

Aujourd'hui on va faire en sorte de le déployer sur la blockchain !

#Web3 #Solidity #SmartContract #NFT #Crypto #ETH
⬇️
1/19
[INTRO]

Pour commencer, n'oubliez pas d'aller lire / appliquer tout ce qu'on a apprit dans le dernier thread sur comment développer un smart contract ERC721, vous pouvez le retrouver ici :



2/19
[INTRO]

Si vous voulez tester par vous même je vous conseille de repartir du code présent sur mon #Github :

github.com/0xNekr/HowToCr…

3/19
Read 20 tweets
May 31
[THREAD DE MES THREADS💻]

Histoire de facilement tout retrouver, voici mes threads dans l'ordre de publication ! 🥳

⬇️⬇️⬇️
Read 4 tweets
May 24
[#THREAD] On créé un contrat ERC721 pas à pas

Difficulté technique : ★★★☆☆

Dans mon dernier thread on a découvert certaines fonctions d'ERC721.

Aujourd'hui on va créer notre premier contrat NFT ensemble !

#Web3 #Solidity #SmartContracts #NFT #Crypto

⬇️

1/18
Notre objectif est de réaliser un contrat ERC721 qui a pour caractéristiques :

• Une supply (nombre de NFT) de 100.
• Un prix de 0.00001 ether (🐀).
• Permettre de mint plusieurs NFTs d’un coup.
• Permettre de récupérer l’argent du smart contract par le propriétaire

2/18
Je vous conseille fortement de suivre directement ce thread avec le code que j’ai déployé sur mon Github :

github.com/0xNekr/HowToCr…

Vous allez même pouvoir le déployer (ou le modifier) pour tester par vous même !

On commence par voir les outils nécessaires ⬇️

3/18
Read 19 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(