L'auto-éducation des développeurs Web3 - Langage des smart contracts
Les smart contracts sont des protocoles d'exécution automatisée sur une plateforme blockchain, permettant d'effectuer des transactions de confiance sans intermédiaire. Les contrats contiennent des fonctions de code qui s'exécutent automatiquement lorsque des conditions prédéfinies sont remplies.
Le concept de smart contracts a été proposé par Nick Szabo dans les années 90, mais ce n'est qu'avec l'apparition d'Ethereum qu'il a été largement appliqué. Ethereum prend en charge le déploiement et l'exécution de smart contracts et est considéré comme la deuxième génération de blockchain.
Les langages de smart contracts sont utilisés pour rédiger des smart contracts, qui sont exécutés après compilation sur la machine virtuelle de la plateforme blockchain. Ces langages doivent exprimer de manière sécurisée et efficace les règles du contrat, et fournir des outils pour traiter les transactions et l'état de la blockchain.
La plupart des développeurs développent sur Ethereum et les blockchains compatibles avec l'EVM, Solana est la plateforme avec le plus de développeurs dans l'écosystème non compatible EVM, tandis que Move est conçu spécifiquement pour le développement sécurisé de smart contracts.
Cet article présentera les langages de smart contracts sous trois aspects : le système EVM, le système Solana et le système Move.
EVM système
EVM est le cœur d'Ethereum, responsable de l'exécution des smart contracts et du traitement des transactions. Ethereum adopte une architecture à plusieurs niveaux, comprenant du bytecode, un langage intermédiaire et un langage de haut niveau.
Sur Ethereum et les blockchains compatibles EVM, les langages les plus populaires sont Solidity et Vyper, en plus de Yul, Yul+, Fe et Huff qui sont disponibles.
Solidity a été proposé pour la première fois par le CTO d'Ethereum, Gavin Wood. C'est un langage de programmation orienté objet, fortement influencé par C++, Python et JavaScript. Solidity définit la norme ABI pour l'interaction avec les smart contracts.
Vyper, développé par l'équipe de Vitalik Buterin, est une alternative à Solidity. Vyper est similaire à Python et est optimisé pour la sécurité, la lisibilité et l'efficacité du Gas.
Yul est un langage d'assemblage avec un contrôle de flux avancé, faisant partie de la chaîne d'outils Solidity. Yul+ est une version étendue de Yul.
Fe est un langage de haut niveau similaire à Rust, qui permet de réutiliser du code via un système basé sur des modules.
Huff est un langage d'assemblage avec un contrôle de pile manuel et une abstraction minimale de l'ensemble d'instructions EVM.
Sur Ethereum, environ 90 % des smart contracts sont développés en Solidity, bien plus que dans d'autres langages. Yul et Yul+ sont généralement utilisés pour l'optimisation du Gas, tandis que Huff est utilisé pour l'optimisation extrême du Gas.
Solana 系
Solana est connue pour son mécanisme PoH et ses hautes performances, c'est l'une des blockchains publiques à la croissance la plus rapide au cours de l'année passée.
Solana appelle les smart contracts des programmes on-chain, principalement écrits en langage Rust. Solana dispose d'une machine virtuelle SVM unique et de bytecode SBF.
Le composant clé de SVM, Sealevel, a réalisé le traitement parallèle. Les smart contracts de Solana spécifient l'état de lecture et d'écriture à l'exécution, permettant l'exécution parallèle de transactions sans conflit.
SBF basé sur eBPF, offrant des performances élevées, sécurité et portabilité. SBF utilise un validateur personnalisé pour garantir l'arrêt des programmes et la correction des instructions.
Théoriquement, tous les langages pouvant être compilés en LLVM IR peuvent être utilisés pour écrire des smart contracts Solana, mais en réalité, seuls Rust et Solang sont supportés.
Rust est un langage de programmation généraliste, compilé statiquement, offrant des performances élevées et une sécurité de la mémoire. Solang est un compilateur Solidity basé sur l'architecture LLVM, qui prend en charge l'utilisation de Solidity sur Solana et Polkadot.
Rust est le langage principalement soutenu par Solana, offrant une plus grande stabilité ; Solang a pour principal atout sa compatibilité avec le langage Solidity.
Move 系
Move est un langage de smart contracts développé pour le projet Diem de Meta, caractérisé par la protection des types de ressources de premier ordre, la flexibilité et la vérifiabilité sécurisée.
Aptos et Sui utilisent tous deux Move comme langage principal des smart contracts. Aptos hérite de Diem Move, Sui utilise une version personnalisée Sui Move.
Le compilateur, le vérificateur et la machine virtuelle de Move sont tous conçus de zéro. Le vérificateur est le mécanisme de sécurité central de Move, garantissant le respect des règles de sécurité des types, de la mémoire et des ressources.
Move est convivial pour la vérification formelle, ne prend pas en charge des caractéristiques telles que l'attribution dynamique, tous les chemins de contrat peuvent être déterminés au moment de la compilation. Move Prover est un outil de vérification formelle pour les smart contracts.
smart contracts développement outils
Pour les développeurs de chaînes compatibles EVM, Solidity est le choix privilégié. Les principaux outils de développement comprennent :
Hardhat : environnement de développement pour compiler, déployer, tester et déboguer des applications Ethereum.
OpenZeppelin : fournit une bibliothèque de smart contracts sécurisés open source.
Foundry : cadre centré sur Solidity pour construire, tester et déployer des smart contracts.
Solana est la deuxième option après Ethereum, avec Anchor comme cadre principal de développement, simplifiant le processus de développement de Solana.
Le langage Move innove en matière de conception de sécurité au niveau inférieur, mais il y a actuellement peu de chaînes publiques basées sur Move et les outils de développement ne sont pas suffisamment complets.
Résumé
L'évaluation des langages de développement de smart contracts prend généralement en compte la facilité d'utilisation, la sécurité et les ressources écologiques.
Solidity a le plus d'influence, avec un riche ensemble d'outils de développement et de bibliothèques, idéal pour un développement rapide.
Rust compense la sécurité de Solidity, l'écosystème Solana se développe rapidement et attire les développeurs.
Move a ajouté davantage de mécanismes de sécurité, la difficulté d'apprentissage est relativement conviviale, mais l'écosystème est encore à un stade précoce.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
17 J'aime
Récompense
17
7
Partager
Commentaire
0/400
LiquidityHunter
· Il y a 6h
petit génie de la finance web3
Voir l'originalRépondre0
CodeSmellHunter
· 08-02 17:54
solidity est vraiment agréable
Voir l'originalRépondre0
OnchainArchaeologist
· 08-02 06:12
ne parle pas de l'ancien plat de sol
Voir l'originalRépondre0
MemeTokenGenius
· 08-02 06:09
Ah ah, c'est vraiment épuisant de commencer à zéro.
Voir l'originalRépondre0
BearMarketSage
· 08-02 06:09
Qui utilise encore sol ahah
Voir l'originalRépondre0
MainnetDelayedAgain
· 08-02 06:03
Selon les enregistrements de la base de données, le concept proposé dans les années 90 a mis 30 ans à se concrétiser. Patience avant la floraison.
Voir l'originalRépondre0
ArbitrageBot
· 08-02 06:03
J'ai passé toute la journée à étudier des contrats sans obtenir une seule adresse de portefeuille.
Web3 développeurs à lire absolument : analyse complète des langages de smart contracts
L'auto-éducation des développeurs Web3 - Langage des smart contracts
Les smart contracts sont des protocoles d'exécution automatisée sur une plateforme blockchain, permettant d'effectuer des transactions de confiance sans intermédiaire. Les contrats contiennent des fonctions de code qui s'exécutent automatiquement lorsque des conditions prédéfinies sont remplies.
Le concept de smart contracts a été proposé par Nick Szabo dans les années 90, mais ce n'est qu'avec l'apparition d'Ethereum qu'il a été largement appliqué. Ethereum prend en charge le déploiement et l'exécution de smart contracts et est considéré comme la deuxième génération de blockchain.
Les langages de smart contracts sont utilisés pour rédiger des smart contracts, qui sont exécutés après compilation sur la machine virtuelle de la plateforme blockchain. Ces langages doivent exprimer de manière sécurisée et efficace les règles du contrat, et fournir des outils pour traiter les transactions et l'état de la blockchain.
La plupart des développeurs développent sur Ethereum et les blockchains compatibles avec l'EVM, Solana est la plateforme avec le plus de développeurs dans l'écosystème non compatible EVM, tandis que Move est conçu spécifiquement pour le développement sécurisé de smart contracts.
Cet article présentera les langages de smart contracts sous trois aspects : le système EVM, le système Solana et le système Move.
EVM système
EVM est le cœur d'Ethereum, responsable de l'exécution des smart contracts et du traitement des transactions. Ethereum adopte une architecture à plusieurs niveaux, comprenant du bytecode, un langage intermédiaire et un langage de haut niveau.
Sur Ethereum et les blockchains compatibles EVM, les langages les plus populaires sont Solidity et Vyper, en plus de Yul, Yul+, Fe et Huff qui sont disponibles.
Solidity a été proposé pour la première fois par le CTO d'Ethereum, Gavin Wood. C'est un langage de programmation orienté objet, fortement influencé par C++, Python et JavaScript. Solidity définit la norme ABI pour l'interaction avec les smart contracts.
Vyper, développé par l'équipe de Vitalik Buterin, est une alternative à Solidity. Vyper est similaire à Python et est optimisé pour la sécurité, la lisibilité et l'efficacité du Gas.
Yul est un langage d'assemblage avec un contrôle de flux avancé, faisant partie de la chaîne d'outils Solidity. Yul+ est une version étendue de Yul.
Fe est un langage de haut niveau similaire à Rust, qui permet de réutiliser du code via un système basé sur des modules.
Huff est un langage d'assemblage avec un contrôle de pile manuel et une abstraction minimale de l'ensemble d'instructions EVM.
Sur Ethereum, environ 90 % des smart contracts sont développés en Solidity, bien plus que dans d'autres langages. Yul et Yul+ sont généralement utilisés pour l'optimisation du Gas, tandis que Huff est utilisé pour l'optimisation extrême du Gas.
Solana 系
Solana est connue pour son mécanisme PoH et ses hautes performances, c'est l'une des blockchains publiques à la croissance la plus rapide au cours de l'année passée.
Solana appelle les smart contracts des programmes on-chain, principalement écrits en langage Rust. Solana dispose d'une machine virtuelle SVM unique et de bytecode SBF.
Le composant clé de SVM, Sealevel, a réalisé le traitement parallèle. Les smart contracts de Solana spécifient l'état de lecture et d'écriture à l'exécution, permettant l'exécution parallèle de transactions sans conflit.
SBF basé sur eBPF, offrant des performances élevées, sécurité et portabilité. SBF utilise un validateur personnalisé pour garantir l'arrêt des programmes et la correction des instructions.
Théoriquement, tous les langages pouvant être compilés en LLVM IR peuvent être utilisés pour écrire des smart contracts Solana, mais en réalité, seuls Rust et Solang sont supportés.
Rust est un langage de programmation généraliste, compilé statiquement, offrant des performances élevées et une sécurité de la mémoire. Solang est un compilateur Solidity basé sur l'architecture LLVM, qui prend en charge l'utilisation de Solidity sur Solana et Polkadot.
Rust est le langage principalement soutenu par Solana, offrant une plus grande stabilité ; Solang a pour principal atout sa compatibilité avec le langage Solidity.
Move 系
Move est un langage de smart contracts développé pour le projet Diem de Meta, caractérisé par la protection des types de ressources de premier ordre, la flexibilité et la vérifiabilité sécurisée.
Aptos et Sui utilisent tous deux Move comme langage principal des smart contracts. Aptos hérite de Diem Move, Sui utilise une version personnalisée Sui Move.
Le compilateur, le vérificateur et la machine virtuelle de Move sont tous conçus de zéro. Le vérificateur est le mécanisme de sécurité central de Move, garantissant le respect des règles de sécurité des types, de la mémoire et des ressources.
Move est convivial pour la vérification formelle, ne prend pas en charge des caractéristiques telles que l'attribution dynamique, tous les chemins de contrat peuvent être déterminés au moment de la compilation. Move Prover est un outil de vérification formelle pour les smart contracts.
smart contracts développement outils
Pour les développeurs de chaînes compatibles EVM, Solidity est le choix privilégié. Les principaux outils de développement comprennent :
Solana est la deuxième option après Ethereum, avec Anchor comme cadre principal de développement, simplifiant le processus de développement de Solana.
Le langage Move innove en matière de conception de sécurité au niveau inférieur, mais il y a actuellement peu de chaînes publiques basées sur Move et les outils de développement ne sont pas suffisamment complets.
Résumé
L'évaluation des langages de développement de smart contracts prend généralement en compte la facilité d'utilisation, la sécurité et les ressources écologiques.
Solidity a le plus d'influence, avec un riche ensemble d'outils de développement et de bibliothèques, idéal pour un développement rapide.
Rust compense la sécurité de Solidity, l'écosystème Solana se développe rapidement et attire les développeurs.
Move a ajouté davantage de mécanismes de sécurité, la difficulté d'apprentissage est relativement conviviale, mais l'écosystème est encore à un stade précoce.