Modèle de contrat intelligent Starknet et Native AA: Maverick Technical Master

Auteur: Shew & amp;

résumé

  • Les caractéristiques techniques les plus importantes de Starknet, y compris la langue du Caire qui est propice à la preuve ZK,Niveau natif AA, Smart Contract Model of Business Logic and Status Storage.

  • Le Caire est un langage ZK commun qui peut implémenter des contrats intelligents sur StarkNet, ou il peut être utilisé pour développer des applications traditionnelles.L’introduction de la Sierra en tant que langue intermédiaire dans son processus de compilation permet au Caire d’itérer fréquemment, mais il n’est pas nécessaire de modifier la couche inférieure de bytecode.Dans la bibliothèque standard du Caire, de nombreuses structures de données de base nécessaires à l’abstraction du compteEssence

  • STARKNET SMART Contrats Séparent la logique et les données de statut.« Compilation, déclaration, déploiement »Dans la troisième étape, la logique métier est déclarée dans la classe du contrat.

  • Le modèle de contrat intelligent susmentionné de Starknet est propice à la réutilisation du code, à la réutilisation de l’état du contrat, aux couches de stockage et à la détection des contrats de déchets.Il est également propice à la réalisation du système de location de stockage et à la parallélisation des transactions.Bien que les deux derniers ne soient pas encore atterri, l’architecture du contrat intelligent du Caire a créé des « conditions nécessaires » pour cela.

  • Il n’y a qu’un compte de contrat intelligent sur la chaîne Starknet, et il n’y a pas de compte EOA.Dès le début, il prend en charge l’abstraction du compte AA natif.Sa solution AA absorbe l’idée de ERC-4337 dans une certaine mesure, permettant aux utilisateurs de choisir un schéma de traitement de transaction hautement personnalisé.Afin d’éviter les scènes d’attaque potentielles, Starknet a fait de nombreuses contre-mesures et fait des explorations importantes pour l’écosystème AA.

Après les jetons émis de Starknet, STRK est progressivement devenu l’un des éléments indispensables aux yeux des observateurs Ethereum.L’étoile Ethereum Layer2 connue pour « l’unicité » et « ne pas faire attention à l’expérience utilisateur » est comme un ermite avec le monde.

Parce qu’il a été trop ignoré par les utilisateurs, et a même ouvert publiquement la chaîne « mendiant électronique » sur Discord, Starknet a été attaqué par le parti Mao. « Il semble que seuls les effets UX et la richesse sont tout.L’expression « non comprise comme ma seule fierté » dans « Golden Pavilion Temple » est simplement un autoportrait de Starknet.

Mais à part ces questions triviales, elle commence simplement par le « goût technique » des geeks du code. Les esprits de certains développeurs de jeux Tous-Chain, Starknet et Cairo sont tout dans Web3, ni la solidité ni le mouvement n’est comparable.De nos jours, l’écart de génération le plus important entre les «geeks techniques» et «l’utilisateur» est en fait davantage dû au manque de cognition des gens de Starknet.

Avec l’intérêt et l’exploration de la technologie blockchain et la valeur de la valeur de Starknet,L’auteur part à partir du modèle de contrat intelligent de Starknet et de l’AA natif pour simplement trier sa solution technique et sa conception de mécanisme pour tout le monde.Tout en montrant les caractéristiques techniques du Starknet à plus de gens, j’espère également laisser les gens comprendre cet « homme solitaire non compréhensible ».

Science minimaliste du langage de Cairro

Dans ce qui suit, nous nous concentrerons sur la discussion du modèle de contrat intelligent de Starknet et de l’abstraction des comptes natifs, expliquant comment StarkNet atteint AA natif.Après avoir lu cet article, tout le monde peut également comprendre pourquoi l’aide de différents portefeuilles dans Starknet ne peut pas être mitigée.

Mais avant d’introduire l’abstraction du compte indigène,Comprenons d’abord le langage du Caire original de Starknet.Au cours du développement du Caire, une première version nommée Cairo0 est apparue, ainsi que des versions modernes ultérieures.La grammaire globale de la version moderne du Caire est similaire à Rust, qui est en fait une langue ZK commune.En plus d’écrire des contrats intelligents sur StarkNet, il peut également être utilisé pour le développement d’applications générales.

Par exemple, nous pouvons développer le système de vérification d’identité ZK dans le langage du Caire.On peut dire que tout programme qui doit être vérifié peut être mis en œuvre dans la langue du Caire.etLe Caire est probablement le langage de programmation qui est le plus propice à la génération de ZK.

À en juger par le processus de compilation, le Caire utilise la méthode de compilation basée sur le langage intermédiaire, comme le montre la figure ci-dessous.La Sierra sur la figure est une forme intermédiaire (IR) dans le processus de compilation du langage du Caire, et Sierra sera compilée dans un formulaire de code binaire plus sous-jacent, nommé CASM, qui est directement utilisé sur l’équipement de nœud Starknet.

Introduisez Sierra en tant que forme intermédiaire, ce qui est pratique pour le langage du Caire pour augmenter les nouvelles fonctionnalités.Cela évite beaucoup de problèmes, et le client de nœud de StarkNet n’a pas à être mis à jour fréquemment.De cette façon, il peut réaliser des itérations fréquentes de la langue du Caire sans modifier la logique sous-jacente du Starknet.etDans la bibliothèque standard du Caire, de nombreuses structures de données de base nécessaires à l’abstraction des comptes.

L’autre l’innovation de Cairo, y compris une solution théorique appelée native du Caire. Améliore considérablement la vitesse d’exécution du code [elle est toujours au stade théorique et n’a pas été débarquée].

Modèle de contrat intelligent Starknet: Logique du code et décapage de stockage d’état

Contrairement à l’EVM et à la chaîne capable, StarkNet a une innovation révolutionnaire dans la conception de systèmes de contrat intelligents.Ici, nous devons savoir que sur la chaîne publique traditionnelle comme Ethereum,Le déploiement de contrats intelligents suit souvent la méthode « Post-Compilation Deployment » et utilise des contrats SMART ETH par exemple:

1. Après que le développeur a écrit le contrat intelligent localement, le développeur compile le programme de solidité dans le code d’octets de l’EVM via l’éditeur, afin que l’EVM puisse être directement compris et traité;

2. Les développeurs lancent une demande de transaction pour déployer des contrats intelligents pour déployer des bytecodes EVM compilés sur la chaîne Ethereum.

(Source de l’image: not-satoshi.com)

Bien que le contrat intelligent de Starknet suit également l’idée de « compiler puis de déploiement »,Des contrats intelligents sont déployés sur la chaîne sous la forme de CASM Bytecode pris en charge par Cairovm.Cependant, en termes de mode d’appel et de stockage d’état des contrats intelligents, les chaînes compatibles StarkNet et EVM sont énormes.

Pour être précis,Ethereum Smart Contract = Business Logic + Status Informations,Par exemple, les contrats USDT implémentent non seulement des fonctions communes telles que le transfert, l’approbation, etc., mais stockent également l’état de l’actif de tous les détenteurs de l’USDT.Le code et le statut sont couplés ensemble, ce qui apporte beaucoup de problèmes. fardeau.

À cet égard, StarkNet a amélioré la méthode de stockage de l’état.Dans son plan de mise en œuvre de contrat intelligent, la logique commerciale et l’état des actifs de DAPP sont complètement découplés et ils sont stockés à différents endroits.Les avantages de le faire sont évidents.Le principe ici est:

Contrat intelligent d’Ethereum = Données de statut Logic + Business,Si la logique commerciale de plusieurs contrats est complètement cohérente, mais les données de statut sont différentes, le hachage de ces contrats est également différent. contrats « .

etDans le schéma de Starknet, la pièce de code et les données d’état sont directement séparées.Parce que leur hachage est le même.Cela est pratique pour arrêter le déploiement de code en double et enregistrer l’espace de stockage des nœuds StarkNet.

Dans le système de contrat intelligent de Starknet, le déploiement et l’utilisation du contrat sont divisés en« Compilation, déclaration, déploiement »Trois étapes.Si l’émetteur d’actifs souhaite déployer le contrat du Caire, la première étape consiste à compiler le code écrit du Caire en Sierra et le formulaire Bytecode CASM sous-jacent.

Ensuite, Contract Deployee publiera une déclaration de la transaction « Declare », déploiera le CASM Bytecode du contrat et le code intermédiaire Sierra à la chaîne, nomméClasse de contratEssence

(Source d’image: le site officiel de Starknet)

Après cela, si vous souhaitez utiliser la fonction de fonction définie dans le contrat d’actif, vous pouvez lancer une transaction « déploier » via l’extrémité avant du DAPP et déployer unInstance de contratCette instance stockera l’état des actifs.Après cela, l’utilisateur peut appeler la fonction de fonction dans la classe de contrat pour modifier l’état de l’instance du contrat.

En fait, quiconque comprend la programmation orientée objet devrait facilement comprendre ce que représentent la classe et l’instance de Starknet.La classe de contrat déclarée par le développeur contient uniquement la logique commerciale des contrats intelligents.

DevraitUne fois que l’utilisateur a déployé une instance de contrat spécifique, les actifs terminent la « physique ».Si vous souhaitez modifier l’état de l’appareil « entité », comme le transfert de votre jeton à d’autres, vous pouvez appeler directement la fonction de fonction écrite dans la classe de contrat.Le processus ci-dessus est quelque peu similaire (mais pas complètement cohérent) dans le langage de programmation traditionnel.

Une fois le contrat intelligent séparé en classe et en instances, la logique métier et les découples de données d’état apportent les fonctionnalités suivantes:

1. Ne pas stocker les couches et la réalisation du « système de location de stockage »

La stratification de stockage SO-appelée signifie que les développeurs peuvent placer des données dans une position personnalisée en fonction de leurs propres besoins, comme sous la chaîne Starknet.StarkNet est compatible avec la couche DA tels que Celestia, et les développeurs DAPP peuvent stocker des données dans ces couches DA de troisième partie.Par exemple, un jeu peut stocker les données d’actifs les plus importantes sur le réseau principal de Starknet et stocker d’autres données sur la couche DA sous le lien de Celestia.Cette solution à la couche DA en fonction de la personnalisation des besoins de sécurité est nommée « Volition » par StarkNet.

Le système de location de stockage So-Soveled signifie que tout le monde devrait continuer à payer pour l’espace de stockage qu’ils occupent.Combien d’espace prenez-vous pour vous, théoriquement, vous devriez continuer à payer le loyer.

Dans le modèle de contrat intelligent Ethereum, la propriété du contrat n’est pas claire, et il est difficile de distinguer le contrat ERC-20 doit être payé par le déploiement ou le titulaire de l’actif pour payer le « loyer ».Il n’a pas lancé la fonction de location de stockage et facture uniquement des frais au déploiement pendant le déploiement du contrat.

Dans le cadre des modèles de contrats intelligents de Starknet et Sui et CKB et Solana, la propriété du contrat intelligent est plus claire, ce qui est pratique pour la collecte de fonds de stockage [Starknet ne fait actuellement pas directement le système de location de stockage en ligne, mais il sera réalisé dans L’avenir]

2. Réalisez la réutilisation du code réel et réduisez le déploiement de contrats à ordures

Nous pouvons déclarer un contrat de jeton universel en tant que classe stockée sur la chaîne, puis tout le monde peut appeler la fonction de cette classe pour déployer sa propre instance de jeton.Et le contrat peut également appeler directement le code de la classe, ce qui réalise l’effet de la bibliothèque de fonctions de bibliothèque similaire à la bibliothèque de la bibliothèque dans Solidity.

Dans le même temps, ce modèle de contrat intelligent de StarkNet,Aide à distinguer le « contrat des ordures ».Plus tôt a expliqué cela.Après avoir pris en charge la réutilisation du code et la détection des contrats d’ordures, StarkNet peut réduire considérablement la quantité de données sur la chaîne et minimiser la pression de stockage des nœuds autant que possible.

3. Vraiment « statut » du vrai contrat

La mise à niveau du contrat sur la blockchain implique principalement des changements dans la logique des affaires. La mise à niveau de la logique métier n’est pas nécessaire de migrer le statut d’actif vers un nouvel endroit.

Pour modifier la logique commerciale du contrat Ethereum, il est souvent nécessaire de «sous-tracer» la logique commerciale du contrat de l’agence.

(Source d’image: Académie WTF)

Dans certains scénarios, si l’ancien contrat Ethereum est abandonné tout au long, le statut d’actif ne peut pas être migré directement vers un nouvel endroit, ce qui est très gênant; « L’ancien vieux. État.

4. Défaut de parallélisation des transactions

Pour augmenter autant que possible le degré parallèle des instructions de transaction différentes, la nécessité de disperser et de stocker le statut d’actif de différentes personnes, qui peuvent être vues sur Bitcoin, CKB et SUI.La condition préalable aux objectifs ci-dessus est de décoller la logique métier et les données sur l’état des actifs des contrats intelligents.Bien que StarkNet n’ait pas encore été effectué dans la mise en œuvre technologique des transactions parallèles, elle prendra des transactions parallèles comme un objectif important à l’avenir.

Déploiement de contrat AA et de compte natif de Starknet

En fait, l’abstraction du compte So-appelé et AA sont les concepts uniques inventés par la communauté Ethereum. Évité depuis le début.Par exemple, dans le cadre du réglage d’Ethereum, le contrôleur de compte EOA doit avoir ETH sur la chaîne pour initier les transactions.Certaines personnes pensent même que la conception de ce compte dans Ethereum est tout simplement anti-humaine.

Si nous allons observer Starknet ou Zksyncera, etc.« Natif aa »La chaîne peut observer la différence évidente: premièrement,Starknet et Zksyncera Unify du type de compte.(L’ère Zksync déploiera un ensemble de code contractuel par défaut sur le compte nouvellement créé de l’utilisateur pour simuler les caractéristiques du compte Ethereum EOA, ce qui est pratique pour la compatibilité avec Metamask).

StarkNet ne considère pas directement compatible avec Metamask et d’autres installations autour d’Ethereum.Lorsque les utilisateurs utilisent le portefeuille Starknet pour la première fois, ils déploieront automatiquement un compte contrat dédié.Cette instance de contrat sera associée à la classe de contrat déployée par le Wallet Project Party à l’avance, qui peut directement appeler certaines des fonctions écrites en classe.

Ci-dessous, nous parlerons d’un sujet intéressant:Lors de la réception du STRK AirDrop, beaucoup de gens trouvent que Argent et le portefeuille Braavos sont incompatibles les uns avec les autres.Après avoir importé des notes d’Argent dans Braavos, le compte correspondant ne peut pas être exporté.Cela est en fait parce que Argent et Bravos utilisent différentes méthodes de calcul de génération de comptes.L’adresse du compte générée par les mêmes aides est différente.

Plus précisément, dans StarkNet, l’adresse du contrat nouvellement déployé peut être obtenue via un algorithme de certitude.

Pedersen () dans la formule ci-dessus est un processus facile à utiliser dans le système ZK pour générer un compte. Adresse du compte Essence

L’image ci-dessus montre quelques paramètres utilisés lorsque StarkNet génère « une nouvelle adresse de contrat ».

Le sel est la valeur de sel de l’adresse du contrat.Cette variable vise en fait à éviter à plusieurs reprises l’adresse du contrat à plusieurs reprises.CLASS_HASH est introduit plus tôt et les valeurs de hachage de classe correspondant à l’instance du contrat.Constructor_CallData_Hash représente le hachage au nom du contrat d’initialisation du contrat.

Sur la base des formules ci-dessus, les utilisateurs peuvent pré-calculer l’adresse du contrat généré à l’avance avant le déploiement du contrat vers la chaîne.StarkNet permet aux utilisateurs de déployer directement les contrats sans le compte StarkNet à l’avance.

1. L’utilisateur détermine d’abord l’instance du contrat qu’il souhaite déployer, quelle classe de contrat doit être associée et utiliser le hachage de classe comme l’un des paramètres d’initialisation, et calculer le sel pour en savoir plus sur l’adresse du contrat du contrat;

2. Après que l’utilisateur sait où il déploiera le contrat, transfèrez-vous d’abord à l’adresse en un certain montant d’ETH en tant que frais de déploiement de contrat.D’une manière générale, cette partie de l’ETH à travers le pont de la chaîne de L1 au réseau Starknet;

3. L’utilisateur initie une demande de transaction pour le déploiement des contrats.

en fait,Tous les comptes StarkNet sont déployés via le processus ci-dessus, mais la plupart des portefeuilles protègent les détails à l’intérieur.C’est comme si le compte du contrat était déployé après le transfert vers ETH.

La solution ci-dessus apporte des problèmes de compatibilité, car lorsque différents portefeuilles génèrent des adresses de compte, les résultats résultants ne sont pas cohérents.Seuls les portefeuilles qui remplissent les conditions suivants peuvent être mélangés:

  1. La clé publique dérivée de la clé privée utilisée par les portefeuilles est la même que l’algorithme de signature;

  2. Le processus de calcul du sel du portefeuille est le même;

  3. La classe de contrat intelligente du portefeuille n’est pas fondamentalement différente dans les détails de la mise en œuvre;

  4. Dans les cas précédents, Argent et Braavos utilisent tous deux l’algorithme de signature ECDSA, mais la méthode de calcul du sel des deux côtés est différente.

    Nous revenons au sujet de l’abstraction des comptes.L’ère Starknet et Zksync effectue une série de processus impliqués dans le processus de traitement des transactions, tels que l’authentification (Vérification Signature numérique), et le paiement des frais de gaz, qui sont tous déplacés en dehors du « bas de la chaîne ».Les utilisateurs peuvent personnaliser les détails de la logique ci-dessus dans leur compte.

    Par exemple, vous pouvez déployer une fonction de vérification de signature numérique dédiée dans votre compte de contrat intelligent StarkNet,Lorsque le nœud StarkNet reçoit la transaction que vous avez initiée, vous appellerez une série de logiques de traitement des transactions que vous avez personnalisées sur le compte sur la chaîne.C’est évidemment plus flexible.

    Dans la conception d’Ethereum, la logique telle que l’authentification (signature numérique) est écrite dans le code client de nœud, et il ne peut pas prendre en charge nativement la personnalisation des fonctions de compte.

    (Le schéma AA original indiqué par l’architecte StarkNet, la vérification des transactions et la vérification en vedette du gaz ont été transférés au contrat pour le gérer. La machine virtuelle sous-jacente de la chaîne peut appeler la fonction personnalisée ou spécifiée de l’utilisateur)

    Selon le personnel officiel de Zksyncera et StarkNet, cet ensemble de fonction de compte a été modularisé et l’EIP-4337 est apprise.Mais la différence est que Zksync et StarkNet ont fusionné le type de compte depuis le début, unifié le type de trading et ont reçu toutes les transactions avec une entrée unifiée.Étant donné qu’Ethereum a des charges historiques et que la fondation espère éviter autant que possible les régimes itératifs bruts tels que les fourches difficiles, il soutient la « courbe pour sauver le pays » EIP-4337.Mais cet effet est que le compte EOA et la solution 4337 adoptent chacun un processus de traitement de transaction indépendant, qui semble maladroit et gonflé, contrairement à l’esprit AA natif.

    (Source de l’image: argentwallet)

    Mais l’abstraction du compte natif de Starknet n’a pas encore atteint une maturité complète.Du point de vue des progrès pratiques, le compte AA de Starknet a réalisé la personnalisation des algorithmes de vérification de signature, mais pour la personnalisation des frais de traitement, Starknet prend en charge uniquement les frais de gaz de paiement ETH et STRK, et n’a pas pris en charge le gaz de paiement de troisième partie.Ainsi, les progrès de Starknet sur les AA natifs peuvent être considérés comme« La solution théorique est fondamentalement mature et la solution pratique fait toujours progresser. »

    Parce qu’il n’y a qu’un compte de contrat intelligent dans StarkNet, l’ensemble du processus de ses transactions considère l’influence des contrats intelligents du compte.Tout d’abord, une transaction est acceptée par le pool de mémoire du nœud StarkNet (MEMPOOL), et les étapes de vérification comprennent:

    1. Si la signature numérique de la transaction est correcte.

    2. Le solde de l’initiateur de la transaction peut-il être payé?

    3. Il convient de noter ici que l’utilisation de la fonction de vérification de signature personnalisée dans le contrat intelligent du compte signifie qu’il existe un scénario d’attaque.Parce que le pool de mémoire ne facture pas les frais de gaz lors de la signature de la nouvelle vérification de la transaction(Si vous facturez directement les frais de gaz, cela apportera des scénarios d’attaque plus graves).Les utilisateurs malveillants peuvent personnaliser les fonctions de signature super compliquées dans leur contrat de compte, puis lancer un grand nombre de transactions, de sorte que lorsque ces transactions sont vérifiées, ils appellent la fonction de signature complexe personnalisée.

      Afin d’éviter cette situation, Starknet a les limites suivantes sur les transactions:

      1. Pendant le temps unitaire, le nombre de stylos de transaction peut être initié en unité de temps est limité;

      2. La fonction de vérification de signature personnalisée dans le contrat de compte StarkNet a des limites de complexité, et une fonction de signature trop compliquée ne sera pas exécutée.Starknet limite la limite supérieure de la consommation de gaz de la fonction de signature.Dans le même temps, d’autres contrats du contrat de compte ne sont pas autorisés à appeler d’autres contrats dans le contrat de compte.

      3. Le tableau des flux de la transaction Starknet est le suivant:

        Il convient de noter,Afin d’accélérer davantage le processus de vérification des transactions, le client de nœud StarkNet implémente directement l’algorithme de vérification de signature des Bravos et des portefeuilles en argent.Lorsque le nœud constate que la transaction génère les deux portefeuilles Starknet traditionnels, il appellera l’algorithme de signature Bravos / Argent qui est livré avec le client.

        Une fois les données de transaction vérifiées par le trieur (les étapes de vérification du trieur seront beaucoup plus profondes que la vérification du pool de mémoire), le trieur emballera la transaction du pool de mémoire et le soumettra au ZK pour prouver le générateur.La transaction qui conclut ce lien sera facturée du gaz même si elle échoue.

        Mais si le lecteur comprend l’histoire de Starknet,Vous constaterez que le Starknet précoce ne facture pas de frais de traitement pour la transaction qui ne parvient pas,L’échec de la transaction le plus courant est que les utilisateurs n’ont qu’un seul fonds d’ETH, mais 10 ETH est transféré de l’extérieur.

        Mais StarkNet ne facturera pas de frais pour de telles transactions de défaillance dans le passé.Ce trading coûteux gaspillera les ressources informatiques du nœud Starknet, qui dérivera la scène d’attaque DDOS.En surface, il semble que les frais de manipulation pour les transactions incorrects semblent très faciles à réaliser, mais c’est en fait assez compliqué.Starknet a lancé la nouvelle version de la langue Cairo1, qui est en grande partie pour résoudre le problème de la collecte du gaz des transactions de défaillance.

        Nous savons tous que la preuve ZK est une preuve efficace, et le résultat qui ne parvient pas à s’exécuter n’est pas valide et ne peut pas laisser les résultats de sortie sur la chaîne.Essayez de le prouver avec efficacité pour prouver que l’exécution d’une certaine instruction est invalide, et le résultat de sortie ne peut pas être généré.Par conséquent, dans le passé, lorsque le Starknet a été généré, les transactions de défaillance qui ne pouvaient pas produire les résultats de sortie étaient directement planifiées.

        L’équipe Starknet a ensuite adopté une solution plus intelligente,Une nouvelle langue contractuelle CAIRO1 est construite, de sorte que « toutes les instructions de transaction peuvent générer des résultats de sortie et onchain ».À première vue, toutes les transactions peuvent produire une sortie, ce qui signifie qu’il n’y a pas d’erreur logique, et la plupart du temps, la transaction échoue car la rencontre de certains bogues, ce qui entraîne l’interrompre l’exécution d’instructions.

        Il est difficile d’atteindre la sortie de la transaction, mais en fait, il existe une alternative très simple que lorsque la transaction rencontre des erreurs logiques, il lui permet également de produire le résultat de sortie. Un retour en retournera un à un retour.

        Mais faites attention, renvoyez la fausse valeur et renvoyez le résultat de sortie, c’est-à-dire,Dans CAIRO1, peu importe si l’instruction a rencontré des erreurs logiques ou s’il y a une interruption temporaire, le résultat de sortie peut être produit et onchain.Ce résultat de sortie peut être des informations correctes ou fausses d’erreur.

        Pour exmple, s’il y a le segment de code suivant:

        Les calculs _BALANCES :: LIRE (From) -amount peut signaler une erreur en raison du débordement. Le réécrit pour le formulaire suivant, un résultat de sortie est toujours renvoyé lorsque la transaction échoue, quittant la chaîne,Du point de vue de la perception, c’est comme si toutes les transactions pouvaient laisser en douceur la production de trading sur la chaîne, et il semble raisonnable de percevoir les frais de traitement.

        Aperçu du contrat Starknetaa

        Étant donné que certains lecteurs peuvent avoir une formation en programmation dans cet article, il y a un bref affichage de l’interface du contrat d’abstraction du compte dans StarkNet:

        Le __validate_declare__ dans l’interface ci-dessus est utilisé pour vérifier la transaction de déclaration initiée par l’utilisateur, tandis que __valida__ est utilisé pour la vérification des transactions générales.Nous pouvons voir que le compte Contract StarkNet prend en charge Multical, qui est plusieurs appels par défaut.Le multi-appels peut réaliser des fonctionnalités très intéressantes, telles que l’emballage des trois transactions suivantes lors de l’exécution d’une interaction Defi:

        1. La première transaction autorise le jeton au contrat Defi

        2. La deuxième transaction déclenche la logique contractuelle Defi

        3. La troisième transaction est autorisée à autoriser le contrat Defi

        4. Bien sûr, parce que plusieurs appels sont atomiques, il y a une utilisation plus compliquée, comme effectuer certaines transactions d’arbitrage.

          Résumer

          • Les caractéristiques techniques les plus importantes de Starknet, y compris la langue du Caire, les AA et les modèles de contrat intelligents indépendants du stockage et du stockage d’État qui sont propices à ZK.

          • Le Caire est un langage ZK commun qui peut non seulement mettre en œuvre des contrats intelligents sur StarkNet, ou pour développer des applications traditionnelles. La couche du bytecode doit être transmise à la langue moyenne; dans la bibliothèque standard du Caire, de nombreuses structures de données de base nécessaires à l’abstraction du compte.

          • STARKNET Smart Contracts Séparent la logique et les données de statut.

          • Le modèle de contrat intelligent susmentionné de Starknet est propice à la réutilisation du code, à la réutilisation de l’état du contrat, au stockage de stockage, à la détection des contrats de déchets, et également à la réalisation de la parallélisation de la location et de la transaction.Bien que les deux derniers ne soient pas encore atterri, l’architecture du contrat intelligent du Caire a créé des « conditions nécessaires » pour cela.

          • Il n’y a qu’un compte de contrat intelligent sur la chaîne Starknet et aucun compte EOA.Sa solution AA absorbe l’idée de ERC-4337 dans une certaine mesure, permettant aux utilisateurs de choisir un schéma de traitement de transaction hautement personnalisé.Afin d’éviter les scènes d’attaque potentielles, Starknet a fait de nombreuses contre-mesures et fait des explorations importantes pour l’écosystème AA.

  • Related Posts

    Binance lance des points alpha, comprendre toutes les règles

    Jessy, vision de Bitchain Les exigences pour participer à Binance Wallet TGE augmentent de plus en plus! Auparavant, la popularité du TGE exclusive de Binance Wallet a apporté une grande…

    Sans bancle: à quoi sont les plateformes de création de contenu décentralisées qui valent la peine d’être prêts attention?

    Auteur: William M. Peaster, sans banque; Compilé par: Tao Zhu, Vision de Bitchain J’écris dans le domaine de la crypto depuis 2017. Depuis lors, j’ai transformé l’écriture en carrière et…

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    You Missed

    La nouvelle ère de la Fondation Ethereum: double leadership et transformation stratégique

    • By jakiro
    • avril 29, 2025
    • 3 views
    La nouvelle ère de la Fondation Ethereum: double leadership et transformation stratégique

    Sanshang Yuya a émis des pièces de monnaie: un vent crypto-démonmonique avec un trafic supérieur

    • By jakiro
    • avril 29, 2025
    • 2 views
    Sanshang Yuya a émis des pièces de monnaie: un vent crypto-démonmonique avec un trafic supérieur

    Le PECTRA MAINNET est confirmé pour être activé le 7 mai. Quelles mises à jour y a-t-il?

    • By jakiro
    • avril 29, 2025
    • 4 views
    Le PECTRA MAINNET est confirmé pour être activé le 7 mai. Quelles mises à jour y a-t-il?

    La Fondation Ethereum part à nouveau: nouvelle gestion, vision et concentration pour l’année prochaine

    • By jakiro
    • avril 29, 2025
    • 0 views
    La Fondation Ethereum part à nouveau: nouvelle gestion, vision et concentration pour l’année prochaine

    Le capitalisme tue l’âme de Web3 tous les jours

    • By jakiro
    • avril 29, 2025
    • 2 views
    Le capitalisme tue l’âme de Web3 tous les jours

    COINGECKO: Combien de bitcoin tirera-t-il les gouvernements en 2025?

    • By jakiro
    • avril 29, 2025
    • 4 views
    COINGECKO: Combien de bitcoin tirera-t-il les gouvernements en 2025?
    Home
    News
    School
    Search