Move.

Beitrag

Teile dein Wissen.

FUNLOP431.
Aug 13, 2025
Experten Q&A

Mastering Move on Sui Network: Der komplette Leitfaden für Anfänger und Erbauer

Wenn Sie sich mit der Blockchain-Entwicklung befasst haben, haben Sie wahrscheinlich bemerkt, dassSui Networkund seine einzigartige Programmiersprache —Move— immer beliebter werden. Dies ist nicht nur eine weitere „intelligente Vertragssprache“, die um die Aufmerksamkeit der Entwickler konkurriert. Move bietet eine völlig andere Denkweise über Blockchain-Programmierung — eine, die schnell, sicher und perfekt für Asset-basierte Anwendungen ist.

In diesem Beitrag erhalten Sie einenumfassenden Einblick in Move on Sui— wie es funktioniert, warum es anders ist und wie Sie damit beginnen können, darauf aufzubauen. Außerdem werden wir uns mit häufigen Fehlern, bewährten Methoden und Erfolgstipps aus der Praxis befassen.


#1. Was ist Move und warum benutzt Sui es?

Move ist eineBytecode-basierte Programmiersprache, die ursprünglich von Meta (ehemals Facebook) für die Libra/Diem-Blockchain entwickelt wurde. Sui hat Move übernommen, es jedoch erweitert und optimiert, um es an seinobjektzentriertes Datenmodellanzupassen.

Im Kern ist Move auf diesichere Verwaltung digitaler Assetsausgelegt. Traditionelle intelligente Vertragssprachen wie Solidity behandeln Vermögenswerte als Zahlen in Kontosalden — aber in Move sind Vermögenswerteerstklassige Bürger. Das bedeutet:

  • Vermögenswertekönnen nicht versehentlich dupliziert werden.
  • Vermögenswertekönnen nicht verloren gehen, ohne sie explizit zu zerstören.
  • Vermögenswertemüssen eindeutig im Eigentum stehen.

Diese Philosophie macht es einfacher, über die Sicherheit von Vermögenswerten nachzudenken und verhindert häufige Bugs und Hacks.

Warum Sui Move gewählt hat:

*Sicherheit: Der Besitz von Vermögenswerten wird auf Sprachebene durchgesetzt. *Geschwindigkeit: Bewegungsprogramme laufen schnell und vermeiden unnötige Berechnungen. *Flexibilität: Sie können benutzerdefinierte Asset-Typen erstellen, die über einfache Token hinausgehen. *Parallele Ausführung: Die Architektur von Sui ermöglicht es Move-Code, Transaktionen parallel zu verarbeiten, wodurch der Durchsatz erhöht wird.


#2. So funktioniert Move auf Sui**

Während andere Blockchains Transaktionen sequentiell ausführen, organisiert Sui Daten inObjekten. Jedes Objekt:

  • Hat einenBesitzer(könnte ein Benutzer, ein anderes Objekt oder das System sein).
  • Kann nur vom Besitzer oder durch bestimmte Move-Funktionen geändert werden.
  • Hat eine eindeutige ID.

Move on Sui hat drei Hauptkonzepte:

1.Objekte

  • Alles, was in der Kette gespeichert ist, ist ein Objekt.
  • Objekte werden von Move-Modulen gespeichert und geändert.
  • Beispiel: eine Münze, ein NFT, ein Spielcharakter.

2.Module

  • Container für Move-Code.
  • Definieren Sie Typen, Funktionen und Regeln für das Verhalten von Objekten.

3.Transaktionen

  • Aktionen, die Benutzer ergreifen.
  • Rufen Sie Move-Funktionen auf und übergeben Sie Objekte, die ihnen gehören.

#3. Vergleich zwischen Move und Solidity

| Funktion | Move (Sui) | Solidity (Ethereum) | ------------------------------------------------------------------| | | -------------------------------------------| |Hauptschwerpunkt| Vermögenssicherheit, Eigentum | Allgemeine intelligente Vertragslogik | |Datenmodell| Objektbasiert | Kontobasiert | |Ausführung| Parallelisiert (wenn keine Objektkonflikte auftreten) | Sequentiell | |Typsicherheit| Stark typisiert, Ressourcen können nicht kopiert/gelöscht werden | Lockerer Typsystem | |Sicherheit| Verhindert doppelte Ausgaben und unbeabsichtigten Verlust von Vermögenswerten | Häufige Probleme: Wiedereinstieg, Ganzzahlüberlauf |

Wenn Sie von Solidity kommen, werden Sie feststellen, dass Move Sie**zwingt, explizit mit Ihren Vermögenswerten umzugehen. Das ist anfangs manchmal frustrierend, aber das ist auch der Grund, warum Move-Programme schwerer auszunutzen sind.


#4. Schreiben Sie Ihr First-Move-Modul auf Sui

Schauen wir uns ein einfaches Move-Beispiel an: ein Modul, das ein benutzerdefiniertes Token erstellt und überträgt.

###Ein Token erstellen

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));
    }
}

Erklärung:

  • struct MyCoindefiniert einen neuen Münztyp.
  • Die mintFunktion erzeugt 1.000 Einheiten von MyCoinund überträgt sie an den Absender.
  • TxContextermöglicht den Zugriff auf Transaktionsdetails (z. B. wer sie gesendet hat).

#5. Die Ressourcentypen von Move — Die geheime Sauce*

Move führtRessourcentypenein, bei denen es sich umnicht kopierbare, nicht duplizierbare Datenstrukturenhandelt. Im Alltag: Wenn Sie einen 10-Dollar-Schein haben, können Sie ihn nicht einfach „kopieren“ — Sie halten ihn entweder in der Hand oder geben ihn weg. Ressourcen funktionieren auf die gleiche Weise.

In Bewegung:

struct MyCoin has key, store {
    value: u64
}

*** key— Kann als Objekt der obersten Ebene gespeichert werden. *** store— Kann in einem anderen Objekt gespeichert werden.

Wenn Sie versuchen, eine Ressource zukopieren, weigert sich der Compiler, Ihren Code zu kompilieren. Dies verhindert Fehler, bei denen Assets versehentlich geklont werden.


#6. Die Sui-spezifischen Move-Erweiterungen*

Sui hat mehrere Änderungen an Vanilla Move vorgenommen, um es für dieobjektbasierte Ausführungzu optimieren:

*Dynamische Objektfelder: Sie können Objekten Felder hinzufügen, nachdem sie erstellt wurden. *Gemeinsam genutzte Objekte: Mehrere Benutzer können mit demselben Objekt interagieren. *Veränderbare Referenzen: Ermöglichen das kontrollierte Ändern von Objektdaten. *Event Emission: Move-Module können Ereignisse für Off-Chain-Listener ausgeben.

Zum Beispiel das Erstellen einer gemeinsamen Spiel-Bestenliste:

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

Dies könnte von mehreren Spielern aktualisiert werden, ohne dass es zu blockchainweiten Engpässen kommt.


#7. Arbeitsablauf der Entwicklung*

Hier ist der grundlegende Arbeitsablauf für die Entwicklung mit Move on Sui:

1.Installieren Sie Sui CLI

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

2.Neues Move-Paket erstellen

  sui move new my_project
  1. sourcesSchreiben Sie Ihre Modulein den Ordner.

4.Erstelle dein Paket

  sui move build

5.Auf Sui veröffentlichen

  sui client publish --gas-budget 100000000

6.Funktionen aufrufenmit:

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

#8. Testen Sie Ihren Move-Code**

Sui Move unterstützt Komponententests direkt in der Sprache.

Beispiel:

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

Führen Sie Tests durch:

sui move test

#9. Häufige Fehler, die Anfänger machen*

&mut TxContext*Vergessen, txContext zu übergeben— Viele Funktionen müssen Objekte erstellen oder übertragen. *Missverständnis der Objekteigentümer— Wenn Sie es nicht besitzen, können Sie es nicht mutieren. *Wir kümmern uns nicht um die Zerstörung von Asset— Sie müssen Ressourcen, die Sie nicht mehr benötigen, explizit „vernichten“. *Veröffentlichung ohne Versionierung— Ein Modul zu aktualisieren bedeutet, eine neue Version zu veröffentlichen.


#10. Bewährte Methoden für Move on Sui*

*Verwenden Sie klare Namenskonventionen— Macht den Code lesbar. *Nutzung gemeinsam genutzter Objekte einschränken— Sie sind langsamer als eigene Objekte. *Ereignisse bei Zustandsänderungen ausgeben— Hilft bei der Indexierung außerhalb der Kette. *Schreiben Sie gründliche Tests— Der Compiler fängt eine Menge ab, aber es treten immer noch Logikfehler auf. *Dokumentiere deine Module— In Zukunft wirst du es dir danken.


#11. Anwendungsfälle aus der realen Welt*

*Spielvermögen— Jedes Schwert, jeder Skin oder jedes Haustier kann ein einzigartiges Objekt sein. *NFT-Marktplätze— Sichere Transfers und Auktionen mit integrierten Eigentumsüberprüfungen. *DeFi-Protokolle— Kreditvergabe, Staking und Swaps mit sicherem Umgang mit Vermögenswerten. *Supply-Chain-Tracking— Stellen Sie Waren als Objekte dar, die sich durch das System bewegen.


#12. Die Zukunft von Move on Sui*

Die Sprache Sui's Move entwickelt sich immer noch weiter. Die aktuelle Arbeit umfasst:

  • BessereTools für Entwickler. *Standardbibliothekenfür gängige Muster. *Interoperabilitätmit anderen Blockchains.

Mit zunehmender Akzeptanz können wir eine umfassendere Dokumentation, größere Open-Source-Projekte und tiefere Integrationen mit der Web3-Infrastruktur erwarten.


##Letzte Gedanken

Wenn Sie es ernst meinen,sichere, leistungsstarke Blockchain-Appszu entwickeln, ist Move on Sui Ihre Aufmerksamkeit wert. Das strenge, aber logische Design hilft Ihnen dabei, ganze Kategorien von Fehlern zu vermeiden und gleichzeitig innovative Anwendungsfälle zu ermöglichen, die bei herkömmlichen, kontobasierten Ketten nicht möglich sind.

Egal, ob Sie ein DeFi-Protokoll, ein Spiel oder ein komplexes NFT-Ökosystem erstellen, Move bietet Ihnen dieBausteine für eine sicherere und schnellere Blockchain-Zukunft.

  • Move CLI
  • Move
  • Smart Contract
0
1
Teilen
Kommentare
.

Antworten

1
Jeff .
Aug 15 2025, 09:25

Toller Artikel.

0
Kommentare
.

Weißt du die Antwort?

Bitte melde dich an und teile sie.

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

152Beiträge259Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.

BelohnungskampagneAugust