Pour développer des smart-contracts, nous avons besoin de toute une stack logicielle. Déjà en soit, faire des smart-contracts est aussi compliqué que de faire une application web. puisque vous avez besoin de reproduire l’environnement dans lequel il va interagir et celui-ci est similaire à internet.
Au niveau du serveur, vous avez besoin :
- d’une fausse blockchain locale de test,
- d’une blockchain de test
- et d’une blockchain de production
Au niveau logiciel, vous avez besoin :
- d’un compilateur de smart-contracts
- de passerelles pour discuter avec vos blockchains
- d’une librairie de test
Impossible de déployer, je n’ai pas de tokens !
Une fois le programme terminé en local il faut déployer sur une vrai blockchain.
Et c’est là que ça se complexifie. Pour déployer vous avez besoin d’utiliser les jetons natif de la blockchain que vous utiliser. Même dans sa version de test puisque qu’elle reproduit fidèlement la production.
Chaque écriture sur la blockchain va vous demander de payer les frais de transaction du serveur pour écrire dans le registre. Vous vous devez donc de le rémunérer pour inscrire votre ByteCode (le code compilé de votre smart-contract)
Comment trouver des tokens de test ?
Vous pouvez tout à fait trouver des jetons de test sur :
- https://collect-test-eth.org/
- https://mumbaifaucet.com/
- https://goerlifaucet.com/
- https://sepoliafaucet.com/
Comment bien stocker ses tokens de test
C’est une tache de longue haleine pour récolter suffisamment de matic ou d’Eth de test pour faire des tas de déploiements.
Cependant faites attention a les déposer un wallet de test dédié. Vous disposez de 10 adresses public par clé privée. A votre place, je ne mélangerai pas les wallets de tests, de prod, perso et pro. Il suffit qu’une personne arrive à vous spoiler pour que vous perdiez l’intégralité de vos fonds. même ceux pour travailler.
Les stratégies à mettre en place peuvent être fastidieuses au départ, mais sont indispensable pour sécuriser vos fonds.
Avoir des jetons n’est pas tout ce qu’il faut pour bien déployer
En même temps si vous en avez besoin d’autant c’est peut être que votre code, n’est pas optimisé. Voici les erreurs les plus courantes :
- des smart-contracts qui prévoient de stocker trop de données
- un constructeur énorme ! car il est exécuté au déploiement
- des fonctions énergivores riment souvent avec faille de sécurité
- importer plusieurs fois les mêmes dépendances
- un faible choix dans la configuration
Faire des démos avec la blockchain de test un gage de qualité
Dans notre promotion Rinkeby nous devions proposer une DApp (Application décentralisée) au jury qui examinait notre projet. Rien que d’avoir pu démontrer que nous avions un programme qui faisait appel à une vrai blockchain, même de test était pour eux un challenge accompli !
Cela voulais dire que les développeurs avaient compris les mécanismes et étaient autonomes dans le développement d’application blockchain.
les développeurs blockchains sont la pour vous aider
Bien sur vous pouvez vous appuyer sur des développeurs pour vous aider à créer vos smart-contracts. Car les pièges sont nombreux et le prix d’une réelle mise en production peut devenir très élevé. Ils peuvent vous donnez très exactement le coût de l’opération. à vous de choisir le bon moment en fonction des prix du marché et du taux d’occupation du réseau. (oui, oui, ça joue sur les frais)
Développez vos applications e-novantes avec la blockchain
N’oubliez pas que je vous accompagne aussi dans la création de vos projets e-novants, même avec les technologies blockchains. Je vous conseille sur les étapes préalables qui sont plus critiques que sur le web.
Vous pouvez écoutez mon podcast sur le monde des applications e-novantes. Je vous parle des sujets d’entreprenariat et de la blockchain dans la nouvelle saison du podcast E-novateurs.
bonne écoute ! podcast.julie-ramadanoski.dev
Aussi, je développe, déploie et implémente vos solutions dans vos outils.
Contactez-moi sur Linkedin, nous feront le point sur vos projets : https://www.linkedin.com/in/julie-ramadanoski-developpeuse-fullstack-reactjs-ethereum
A très vite !