Move.

Publication

Partagez vos connaissances.

FUNLOP431.
Aug 13, 2025
Questions et Réponses avec des Experts

Maîtriser Move on Sui Network : le guide complet pour les débutants et les constructeurs

Si vous avez étudié le développement de chaînes de blocs, vous avez probablement remarqué un engouement croissant pourSui Networket son langage de programmation unique,Move. Il ne s'agit pas simplement d'un autre « langage contractuel intelligent » qui se bat pour attirer l'attention des développeurs. Move propose une approche complètement différente de la programmation blockchain : une approche rapide, sûre et parfaite pour les applications basées sur des actifs.

Dans cet article, vous obtiendrez uneprésentation approfondie de Move on Sui : comment il fonctionne, pourquoi il est différent et comment vous pouvez commencer à en tirer parti. Nous explorerons également les erreurs courantes, les meilleures pratiques et des conseils pratiques pour réussir.


##1. Qu'est-ce que Move et pourquoi est-ce que Sui l'utilise ?

Move est unlangage de programmation basé sur des bytecodesdéveloppé à l'origine par Meta (anciennement Facebook) pour la blockchain Libra/Diem. Sui a adopté Move mais l'a étendu et optimisé pour l'adapter à sonmodèle de données centré sur l'objet.

À la base, Move est conçu pourgérer en toute sécurité les actifs numériques. Les langages de contrats intelligents traditionnels tels que Solidity traitent les actifs comme des chiffres figurant dans les soldes des comptes, mais dans Move, les actifs sont descitoyens de première classe. Cela signifie que :

  • Les actifsne peuvent pas être dupliqués accidentelement.
  • Les actifsne peuvent pas être perdussans les détruire explicitement.
  • Les actifsdoivent être clairement identifiés.

Cette philosophie permet de raisonner plus facilement sur la sécurité des actifs et d'éviter les bugs et les piratages courants.

Pourquoi Sui a choisi Move :

***Sécurité :**La propriété des actifs est appliquée au niveau de la langue. ***Vitesse :**Les programmes Move s'exécutent rapidement et évitent les calculs inutiles. ***Flexibilité :**Vous pouvez créer des types d'actifs personnalisés au-delà de simples jetons. ***Exécution parallèle :**L'architecture de Sui permet au code Move de traiter les transactions en parallèle, augmentant ainsi le débit.


##2. Comment fonctionne Move sur Sui

Alors que d'autres blockchains exécutent les transactions de manière séquentielle, Sui organise les données enobjets. Chaque objet :

  • A unpropriétaire(il peut s'agir d'un utilisateur, d'un autre objet ou du système).
  • Ne peut être modifié que par son propriétaire ou par des fonctions de déplacement spécifiques.
  • Possède un identifiant unique.

Move on Sui repose sur trois concepts principaux :

1.Objets

  • Tout ce qui est stocké sur la chaîne est un objet.
  • Les objets sont stockés et modifiés par les modules Move.
  • Exemple : une pièce, un NFT, un personnage de jeu.

2.Modules

  • Conteneurs pour le code Move.
  • Définissez les types, les fonctions et les règles de comportement des objets.

3.Transactions

  • Actions entreprises par les utilisateurs.
  • Appelez les fonctions Move en leur transmettant les objets qu'elles possèdent.

##3. Comparaison entre Move et Solidity

FonctionnalitéMove (Sui)Solidity (Ethereum)
Objectif principalSécurité des actifs, propriétéLogique générale des contrats intelligents
Modèle de donnéesBasé sur les objetsBasé sur les comptes
ExécutionParallélisé (lorsqu'aucun objet n'est en conflit)Séquentiel
Sécurité des typesFortement dactylographié, les ressources ne peuvent pas être copiées/déposéesSystème de saisie plus souple
SécuritéEmpêche les doubles dépenses et les pertes involontaires d'actifsProblèmes courants : réentrée, dépassement d'entiers

Si vous venez de Solidity, vous remarquerez que Movevous obligeà être explicite sur la gestion des actifs. C'est parfois frustrant au début, mais c'est aussi la raison pour laquelle les programmes Move sont plus difficiles à exploiter.


##4. Rédaction de votre module First Move sur SUI

Passons en revue un exemple de base de Move : un module qui crée et transfère un jeton personnalisé.

###Création d'un jeton

module my_project::my_coin {
    use sui::coin;
    use sui::transfer;
    use sui::tx_context::{self, TxContext};

    /// Create a new coin type
    struct MyCoin has drop, store {}

    /// Initialize a new coin and send it to the transaction sender
    public entry fun mint(ctx: &mut TxContext) {
        let coin = coin::mint<MyCoin>(1000, ctx);
        transfer::transfer(coin, tx_context::sender(ctx));
    }
}

Explication :

  • struct MyCoindéfinit un nouveau type de pièce.
  • mintLa fonction crée 1 000 unités MyCoinet les transfère à l'expéditeur.
  • TxContextdonne accès aux détails de la transaction (comme la personne qui l'a envoyée).

##5. Les types de ressources de Move — La sauce secrete

Move introduit lestypes de ressources, qui sont desstructures de données non copiables et non duplicables. Concrètement : si vous avez un billet de 10$, vous ne pouvez pas simplement le « copier », vous le conservez ou vous le donnez. Les ressources fonctionnent de la même manière.

En mouvement :

struct MyCoin has key, store {
    value: u64
}

*** key— Peut être stocké en tant qu'objet de niveau supérieur. *** store— Peut être stocké à l'intérieur d'un autre objet.

Si vous essayez decopierune ressource, le compilateur refusera de compiler votre code. Cela permet d'éviter les bogues dans lesquels des actifs sont clonés accidentellement.


##6. Les extensions de déménagement spécifiques à Sui

Sui a apporté plusieurs modifications à vanilla Move afin de l'optimiser pour l'exécution basée sur les objets :

***Champs d'objets dynamiques :**Vous pouvez ajouter des champs aux objets une fois qu'ils ont été créés. ***Objets partagés :**Plusieurs utilisateurs peuvent interagir avec le même objet. ***Références mutables :**Autorisez la modification des données des objets de manière contrôlée. ***Émission d'événements :**Les modules Move peuvent émettre des événements pour les auditeurs hors chaîne.

Par exemple, créer un classement de jeu partagé :

struct Leaderboard has key {
    scores: vector<u64>
}

Cela pourrait être mis à jour par plusieurs joueurs sans provoquer de goulots d'étranglement à l'échelle de la blockchain.


7. Flux de développement

Voici le flux de travail de base pour développer avec Move on Sui :

1.Installez Sui CLI

  curl -fsSL https://sui.io/install.sh | bash

2.Créez un nouveau package Move

  sui move new my_project
  1. sourcesÉcrivez vos modulesdans le dossier.

4.Créez votre package

  sui move build

5.Publier sur Sui

  sui client publish --gas-budget 100000000

6.Fonctions d'appelen utilisant :

  sui client call --package <PACKAGE_ID> --module my_module --function my_function

#8. Test de votre code de déménagement

Sui Move prend en charge les tests unitaires directement dans la langue.

Exemple :

#[test]
fun test_mint() {
    let ctx = test::new_tx_context(@0x1);
    my_project::my_coin::mint(&mut ctx);
    // Add assertions here
}

Exécutez des tests :

sui move test

9. Erreurs courantes commises par les débutants

*Oublier de transmettre TxContext— De nombreuses fonctions nécessitent de &mut TxContextcréer ou de transférer des objets. *Incompréhension de la propriété de l'objet— Si vous ne le possédez pas, vous ne pouvez pas le muter. *Ne pas gérer la destruction des actifs— Vous devez explicitement « détruire » les ressources dont vous n'avez plus besoin. *Publier sans version— La mise à jour d'un module implique la publication d'une nouvelle version.


##10. Meilleures pratiques pour Move on Sui

*Utilisez des conventions de dénomination claires— Rend le code lisible. *Limiter l'utilisation des objets partagés— Ils sont plus lents que les objets possédés. *Émettre des événements pour les changements d'état— Aide à l'indexation hors chaîne. *Rédigez des tests approfondis— Le compilateur détecte beaucoup de choses, mais des bogues logiques persistent. *Documentez vos modules— À l'avenir, vous vous en remercierez.


##11. Cas d'utilisation réels

*Ressources de jeu— Chaque épée, skin ou animal de compagnie peut être un objet unique. *Marketplaces NFT— Transferts et enchères sécurisés avec contrôles de propriété intégrés. *Protocoles DeFi— Prêts, jalonnement et échanges utilisant une gestion sécurisée des actifs. *Suivi de la chaîne d'approvisionnement— Représentez les marchandises comme des objets se déplaçant dans le système.


##12. L'avenir de Move on Sui

Le langage Move de Sui continue d'évoluer. Les travaux actuels incluent :

  • De meilleursoutils pour développeurs. *Bibliothèques standardpour les modèles courants. *Interopérabilitéavec d'autres blockchains.

À mesure que l'adoption augmente, nous pouvons nous attendre à une documentation plus riche, à des projets open source plus importants et à des intégrations plus approfondies avec l'infrastructure Web3.


##Réflexions finales

Si vous voulez vraiment créer desapplications blockchain sécurisées et performantes, Move on Sui mérite votre attention. Sa conception stricte mais logique vous permet d'éviter des catégories entières de bugs tout en permettant des cas d'utilisation innovants qui ne sont pas possibles sur les chaînes de comptes traditionnelles.

Que vous créiez un protocole DeFi, un jeu ou un écosystème NFT complexe, Move vous fournit leséléments de base pour un avenir blockchain plus sûr et plus rapide.

  • Move CLI
  • Move
  • Smart Contract
0
1
Partager
Commentaires
.

Réponses

1
Jeff .
Aug 15 2025, 09:25

Article génial.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

152Publications259Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesAoût