Exploration Solana Smart Contract modèle de programmation

6/11/2024, 5:47:31 AM
Débutant
Ethereum
Solana est une plate-forme blockchain haute performance conçue pour support les dApps. Il est connu pour sa rapidité et son évolutivité, obtenues grâce à un mécanisme de consensus et une conception architecturale uniques. Cet article utilise Ethereum comme objet de comparaison pour présenter brièvement les caractéristiques du modèle de programmation de contrats intelligents Solana.

Transférer le titre original '小学生也能看懂 !Solana 的编程模型,究竟和 ETH 有啥区别 ?'

Solana est une plate-forme blockchain haute performance conçue pour support les dApps. Il est connu pour sa rapidité et son évolutivité, obtenues grâce à un mécanisme de consensus et une conception architecturale uniques. Cet article utilise Ethereum comme objet de comparaison pour présenter brièvement les caractéristiques du modèle de programmation de contrats intelligents Solana.

Programmes natifs : il s’agit de programmes qui fournissent les fonctionnalités nécessaires à la validation des nœuds. Le plus notable est le programme système, qui est responsable de la gestion de la création de nouveaux comptes et du transfert de SOL entre deux comptes.Programmes SPL : Ceux-ci définissent une série d’activités on-chain, y compris la création, la plateforme d’échange et le prêt de jetons, ainsi que la création de pools de jalonnement et la maintenance de services de résolution de noms de domaine on-chain. Parmi ceux-ci, le programme SPL Jeton est utilisé pour les opérations de jeton, tandis que le programme de compte Jeton associé est couramment utilisé pour écrire d’autres programmes personnalisés. Vous les appelez smart contracts, je les appelle des programmes on-chain. Termes différents, mais ils font tous deux référence au code exécuté sur la blockchain. Tout comme Alice, Bob et John sont tous des noms, et leurs qualités réelles doivent être évaluées par d’autres aspects.

Semblable à Ethereum, Solana est également une blockchain basée sur un modèle compte, mais Solana fournit un modèle de compte différent de celui de Ethereum et stocke les données de différentes manières.

Dans Solana, les comptes peuvent enregistrer des informations de portefeuille et d’autres données. Les champs définis par le compte incluent Lamports (solde du compte), Propriétaire (propriétaire compte), Exécutable (s’il s’agit d’un compte exécutable) et Données (données stockées dans le compte). Chaque compte désigne un programme en tant que propriétaire afin de distinguer le programme pour lequel le compte est utilisé en tant que magasin d’état. Ces programmes off-chain sont en lecture seule ou sans état : le programme compte (compte exécutable) ne stocke que des bytecode BPF et ne stocke aucun état. Le programme stockera l’état dans d’autres comptes indépendants (comptes non exécutables). C’est-à-dire que le modèle de programmation de Solana dissocie le code et les données.

Le Ethereum compte fait principalement référence à l’État EVM. Son contrat intelligent a non seulement une logique de code, mais doit également stocker les données des utilisateurs. Ceci est souvent considéré comme un défaut de conception hérité de l’histoire de l’EVM.

Ne sous-estimez pas cette distinction ! Solana smart contracts sont fondamentalement plus difficiles à attaquer que les blockchains avec un modèle de programmation couplé comme Ethereum.

Dans Ethereum, un « propriétaire » de contrat intelligent est une variable globale qui correspond un à un avec le contrat intelligent. Par conséquent, l’appel d’une fonction peut modifier directement le « propriétaire » du contrat.

Dans Solana, cependant, le « propriétaire » d’un contrat intelligent est une donnée associée à un compte plutôt qu’à une variable globale. Un compte peut avoir plusieurs propriétaires, plutôt qu’une association un-à-un. Pour qu’un attaquant puisse exploiter une faille de sécurité dans un contrat intelligent, il doit non seulement trouver la fonction problématique, mais aussi préparer les « bons » comptes pour appeler cette fonction. Cette étape n’est pas facile, car Solana smart contracts impliquent généralement plusieurs comptes d’entrée et gèrent leurs relations à l’aide de contraintes (telles que account1.owner == account2.key). Le processus allant de la « préparation des bons comptes » au « lancement d’une attaque » donne au personnel de surveillance de la sécurité suffisamment de temps pour détecter de manière proactive les transactions suspectes liées à la création de « faux » comptes associés au contrat intelligent avant que l’attaque ne se produise.

Ethereum smart contracts sont comme un coffre-fort qui utilise un mot de passe unique ; une fois que vous obtenez ce mot de passe, vous en devenez pleinement propriétaire. En revanche, les smart contracts de Solana sont comme un coffre-fort avec de nombreux mots de passe. Pour y accéder, vous devez non seulement obtenir les mots de passe, mais aussi déterminer quel mot de passe correspond à quelle serrure pour l’ouvrir.

Langage de programmation

Rust est le langage de programmation principal pour le développement de smart contracts sur Solana. En raison de ses performances et de ses caractéristiques de sécurité, il convient à l’environnement à haut risque de la blockchain et des smart contracts. Solana prend également en charge C, C ++ et (très exceptionnellement) d’autres langages. Le SDK officiel pour Rust et C est fourni pour support le développement de programmes on-chain. Les développeurs peuvent utiliser des outils pour compiler le programme en bytecode Berkley Packet Filter (BPF) (le fichier a une extension .so), puis le déployer sur la chaîne Solana et exécuter la logique du contrat intelligent via le runtime de contrat intelligent parallèle Sealevel.

Étant donné que le langage Rust lui-même est difficile à utiliser et n’est pas personnalisé pour le développement de la blockchain, de nombreuses exigences nécessitent de réinventer la roue et le code redondant. (De nombreux projets en production utilisent le framework Anchor créé par le co-créateur de Backpack, Armani, pour simplifier le développement) De nombreux langages de programmation nouvellement créés dédiés au développement de la blockchain sont basés sur Rust, tels que Cairo (Starknet), Move (Sui, Aptos).

De nombreux projets en production utilisent le framework Anchor

Ethereum smart contracts sont principalement développés en langage Solidity (la syntaxe est similaire à javascript, et le fichier de code a une extension .sol). En raison de la syntaxe relativement simple et des outils de développement plus matures (Hardhat framework, Remix IDE...), nous pensons généralement que l’expérience de développement d’Ethereum est plus simple et plus rafraîchissante, tandis que le développement de Solana est plus difficile à démarrer. Ainsi, même si Solana est très populaire maintenant, le nombre de développeurs sur Ethereum est toujours bien supérieur à celui de Solana.

Dans certaines conditions routières, les voitures de course haut de gamme ne sont pas aussi rapides que les voitures modifiées. Rust est comme une voiture de course de haut niveau, ce qui garantit efficacement les performances et la sécurité de Solana. Cependant, il n’est pas conçu pour développer cette piste pour les programmes off-chain, mais provoque plutôt une augmentation de la difficulté de conduite (développement). L’utilisation d’une chaîne publique basée sur Rust et le développement d’un langage personnalisé pour la chaîne équivalent à modifier la voiture de course pour la rendre plus adaptée aux conditions routières. Solana est désavantagé ici.

Résumé

Le modèle de programmation des contrats intelligents de Solana est innovant. Il offre une approche sans état du développement de contrats intelligents, en utilisant Rust comme langage de programmation principal et une architecture qui sépare la logique de l’état. Cela fournit aux développeurs un environnement robuste pour la création et le déploiement de smart contracts, garantissant la sécurité et les performances, bien que cela pose une difficulté de développement plus élevée. Solana se concentre sur un débit élevé, un faible coût et une évolutivité, ce qui en fait le choix idéal pour les développeurs qui cherchent actuellement à créer des dApps hautes performances.

Foresight News]. Tous les droits d’auteur appartiennent à l’auteur original [Alex Liu]. S’il y a des objections à cette réimpression, veuillez contacter l’équipe Gate Learn, et ils la traiteront rapidement.
  • Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  • Les traductions de l’article dans d’autres langues sont effectuées par l’équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, de distribuer ou de plagier les articles traduits.
  • Partager

    Calendrier Crypto

    Mises à Jour du Projet
    Etherex lancera le jeton REX le 6 août.
    REX
    22.27%
    2025-08-06
    Rare Dev & Governance Day à Las Vegas
    Cardano organisera la Rare Dev & Governance Day à Las Vegas, du 6 au 7 août, avec des ateliers, des hackathons et des discussions en panel axés sur le développement technique et les sujets de gouvernance.
    ADA
    -3.44%
    2025-08-06
    Blockchain.Rio à Rio de Janeiro
    Stellar participera à la conférence Blockchain.Rio, qui se tiendra à Rio de Janeiro, du 5 au 7 août. Le programme comprendra des discours d'ouverture et des tables rondes avec des représentants de l'écosystème Stellar en collaboration avec les partenaires Cheesecake Labs et NearX.
    XLM
    -3.18%
    2025-08-06
    Webinaire
    Circle a annoncé un webinaire en direct intitulé « L'ère de la loi GENIUS commence », prévu pour le 7 août 2025, à 14h00 UTC. La session explorera les implications de la nouvelle loi GENIUS adoptée—le premier cadre réglementaire fédéral pour les stablecoins de paiement aux États-Unis. Dante Disparte et Corey Then de Circle dirigeront la discussion sur la manière dont la législation impacte l'innovation des actifs numériques, la clarté réglementaire et le leadership des États-Unis dans l'infrastructure financière mondiale.
    USDC
    -0.03%
    2025-08-06
    AMA sur X
    Ankr organisera un AMA sur X le 7 août à 16h00 UTC, axé sur le travail de DogeOS dans la construction de la couche d'application pour DOGE.
    ANKR
    -3.23%
    2025-08-06

    Articles connexes

    Les meilleures plateformes de loterie en crypto-monnaie pour 2024
    Débutant

    Les meilleures plateformes de loterie en crypto-monnaie pour 2024

    Explorez le monde des loteries cryptographiques grâce à ce guide complet sur les mécanismes des loteries cryptographiques, ainsi que sur les meilleures plateformes.
    1/28/2024, 4:53:22 PM
    Guide sur la façon de changer de réseau dans MetaMask
    Débutant

    Guide sur la façon de changer de réseau dans MetaMask

    Il s'agit d'un guide simple, étape par étape, sur la façon de commuter votre réseau dans MetaMask.
    1/11/2024, 10:37:30 AM
    Les 10 meilleurs outils de trading en Crypto
    Intermédiaire

    Les 10 meilleurs outils de trading en Crypto

    Le monde de la crypto évolue constamment, avec de nouveaux outils et plateformes émergents régulièrement. Découvrez les meilleurs outils de crypto-monnaie pour améliorer votre expérience de trading. De la gestion de portefeuille et de l'analyse du marché au suivi en temps réel et aux plateformes de meme coin, apprenez comment ces outils peuvent vous aider à prendre des décisions éclairées, à optimiser vos stratégies et à rester en avance sur le marché dynamique des crypto-monnaies.
    11/28/2024, 5:39:59 AM
    Qu'est-ce que Neiro? Tout ce que vous devez savoir sur NEIROETH en 2025
    Intermédiaire

    Qu'est-ce que Neiro? Tout ce que vous devez savoir sur NEIROETH en 2025

    Neiro est un chien Shiba Inu qui a inspiré le lancement de jetons Neiro sur différentes blockchains. En 2025, Neiro Ethereum (NEIROETH) est devenu une principale cryptomonnaie mème avec une capitalisation boursière de 215 millions de dollars, plus de 87 000 détenteurs et des inscriptions sur 12 grandes bourses. L'écosystème comprend désormais un DAO pour la gouvernance communautaire, une boutique de marchandises officielle et une application mobile. NEIROETH a mis en œuvre des solutions de couche 2 pour améliorer la scalabilité et a consolidé sa position dans le top 10 des cryptomonnaies mème sur le thème des chiens en termes de capitalisation boursière, soutenu par une communauté dynamique et des influenceurs majeurs de la cryptomonnaie.
    9/5/2024, 3:37:06 PM
    Top 10 Jeton ETH LST
    Débutant

    Top 10 Jeton ETH LST

    La concurrence dans le secteur du staking ETH s'intensifie, avec l'émergence de divers gameplays innovants et écosystèmes de récompenses, attirant l'attention du marché. Cet article filtrera les 10 meilleurs jetons LST ETH valant la peine d'être suivis, basés sur les classements de capitalisation boursière.
    10/28/2024, 1:45:41 PM
    Qu'est-ce que MetaMask ?
    Débutant

    Qu'est-ce que MetaMask ?

    Utilisez MetaMask pour interagir avec Ethereum ou d'autres blockchains directement depuis votre navigateur.
    11/21/2022, 10:17:23 AM
    Lancez-vous
    Inscrivez-vous et obtenez un bon de
    100$
    !