Publication
Partagez vos connaissances.
Déploiements sur la couche 1
J'ai appris à déployer un simple contrat intelligent sur un réseau de test à l'aide de Remix.
Quelle est la meilleure procédure pour déployer un protocole DeFi sur n'importe quel réseau de couche 1 ou 2 ?
Utilisez-vous Remix, utilisez-vous une CLI ou une autre alternative ? L'un d'entre eux est-il plus sûr que l'autre ? et pourquoi a-t-on choisi cette procédure par rapport aux 2 autres ?
Par exemple, lorsque l'équipe Uniswap a déployé du code Uniswap dans la couche 1 d'Ethereum, comment l'a-t-elle déployé ?
Merci
- Cyfrin Updraft
- Blockchain
- Smart Contract
Réponses
1Il existe plusieurs manières de déployer des contrats intelligents, par exemple beaucoup. Tout dépend des préférences de chacun. Parlons des 2 ou 3 principales approches que la plupart des développeurs aiment adopter en ce qui me concerne :
-
Hardat - Il s'agit d'un environnement de développement spécialement conçu pour Ethereum. On peut faire diverses choses avec les contrats intelligents, comme le débogage, les tests et les déploiements. Il est simple à utiliser, possède sa propre interface de ligne de commande et utilise Javascript, un langage assez courant et connu de presque tout le monde dans ce domaine.
-
Foundry - C'est une autre arme populaire que les développeurs préfèrent généralement pour le développement de leurs contrats intelligents. Il est devenu populaire récemment, car il utilise Solidity pour tout, ce qui signifie qu'il n'est pas nécessaire de passer à différents langages pour la partie développement, vous savez Solidity, vous avez tout compris. Et oui, il est également livré avec CLI et peut être assez difficile par rapport à Hardhat. Cependant, cette douleur en vaut la peine.
-
Remix (pas besoin de coller son lien) - Vous connaissez Remix, le premier outil qui nous est présenté. Eh bien, oui, c'est la solution la plus simple, mais faire autre chose que des déploiements peut être déjà assez difficile. Pourtant, je n'ai jamais vu de développeurs l'utiliser beaucoup à des fins de développement sérieuses. Même moi, je l'utilisais parfois pour tester des choses très basiques, où je devais déployer un contrat pour tester certaines de ses parties plutôt que d'écrire un script complet pour cela.
Parallèlement à cela, vous pouvez trouver d'autres outils qui sont devenus assez démodés de nos jours. Je me souviens qu'à partir de fin 2023, il existait des outils comme Truffle que je n'aimais pas franchement (juste une opinion personnelle).
Il existe un autre outil que je connais personnellement, mais peu connu des autres car c'est une sorte de point de départ pour l'instant, créé par une petite équipe et je connais le fondateur (j'ai été l'une des premières personnes à qui il a partagé son idée). C'est AnyFlow. Ce projet a en fait été conçu pour éviter les difficultés que rencontrent parfois les développeurs lors du développement de contrats intelligents. Certaines de ses fonctionnalités sont les suivantes :
- Pas besoin de prendre soin des jetons Testnet
- Interface utilisateur incroyable
- Pas de clip
La seule condition préalable à AnyFlow est que votre projet soit un projet Hardhat (créé à l'aide d'une seule commande). Ensuite, il vous suffit de connecter votre GitHub, d'ouvrir votre dépôt, de sélectionner les chaînes et de déployer. Je l'ai essayé personnellement, c'était absolument bon, surtout quand vous manquez de jetons Testnet.
Répondons maintenant à certaines de vos questions spécifiques :
Quelle est la meilleure procédure à suivre pour déployer un protocole DeFi sur n'importe quel réseau de couche 1 ou 2 ?
Qu'il s'agisse d'un protocole DeFi ou d'un ensemble de contrats intelligents liés les uns aux autres, la procédure reste toujours la même la plupart du temps. Testez le contrat, déployez-le et protégez vos clés privées (essayez de trouver un meilleur moyen plutôt que de stocker vos clés dans un .env
fichier). De plus, il est recommandé de séparer les portefeuilles de vos développeurs de ceux contenant des fonds réels. Pourquoi ? En raison des nombreux piratages qui se sont produits ces derniers temps et dont les cibles sont nous, les développeurs. J'ai déjà fait face à une attaque mais j'ai été sauvée d'une manière ou d'une autre (vous connaissez la raison), mais beaucoup n'ont pas toujours cette chance.
Utilisez-vous Remix, utilisez-vous une CLI ou une autre alternative ? L'un d'entre eux est-il plus sûr que l'autre ? et pourquoi a-t-on choisi cette procédure par rapport aux 2 autres ?
J'ai déjà répondu à la première partie. En ce qui concerne la sécurité, je n'ai jamais vraiment entendu parler de brèche ou de vulnérabilité en matière de déploiement (à moins qu'il n'y ait une faute du développeur lui-même, par exemple, il a envoyé sa clé privée par erreur sur Github, etc.). Par conséquent, la plupart d'entre eux sont sûrs. Choisir l'un d'entre eux est votre préférence personnelle, pourquoi ne pas tout essayer et choisir celui avec lequel vous êtes à l'aise ?
Par exemple, lorsque l'équipe Uniswap a déployé du code Uniswap dans la couche 1 d'Ethereum, comment l'a-t-elle déployé ?
Je ne sais pas exactement ce que l'équipe d'Uniswap a utilisé pour déployer Uniswap. Vous pouvez probablement effectuer une recherche immédiate sur Google ou en fouillant un peu dans divers articles, ou sur le GitHub d'Uniswap lui-même. Honnêtement, cela n'a pas beaucoup d'importance. Une fois que vous saurez exactement comment déployer des contrats intelligents, vous devinerez probablement comment ils s'y sont pris (sinon exactement). Le point sur lequel il faut se concentrer ici est la façon dont ils l'ont écrit et testé, mais c'est de votre faute. Cependant, je suis certain qu'ils n'ont pas utilisé Remix.
Bonne chance !
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.
Cyfrin Updraft is an education platform specializing on teaching the next generation of smart contract developers