Let's Move Sui: Die zugrundeliegende Move-Sprache von Sui erklärt

Fortgeschrittene6/12/2024, 2:46:33 PM
Sui Network setzt auf Smart Contract Execution, bei der die in Rust auf der Sui-Blockchain entwickelte Sprache Move eine entscheidende Rolle spielt. Wir befassen uns mit der zugrunde liegenden Move-Sprache von Sui, um ihren einzigartigen Charme zu erkunden, der sich von anderen Blockchain-Programmiersprachen unterscheidet.

Sui ist eine öffentliche L1-Chain, die von Grund auf neu gestaltet und aufgebaut wurde, um eine Entwicklungsplattform bereitzustellen, die in der Lage ist, die nächste Milliarde Nutzer im Web3 für Schöpfer und Entwickler aufzunehmen.

In diesem Jahr wurde Suis native Programmiersprache Move erheblich aktualisiert und verbessert. Die Version 2024 führt wichtige Funktionen wie Enumerationen, Makrofunktionen, Methodensyntax und mehr ein. Diese wesentlichen neuen Funktionen eröffnen neue Möglichkeiten zur Definition von Daten und zum Aufrufen von Funktionen in der Programmiersprache Move, wodurch die Anwendungsentwicklung auf Sui flexibler und an die neuesten Erwartungen an Programmiersprachen angepasst wird.

Was ist die Schlüsselrolle der Move-Sprache im Sui-Ökosystem? Tatsächlich basiert das gesamte Sui-Ökosystem auf drei Schlüsselkonzepten, die eine sofortige Transaktionsabwicklung und niedrige Transaktionskosten gewährleisten – die drei Kernsäulen sind die Move-Sprache, die parallele Transaktionsausführung und die Sui-Konsens-Engine.

Anwendungen auf Sui basieren auf der Smart-Contract-Sprache Move, die sich auf Smart Contracts konzentriert und die Skalierbarkeit und Hochdurchsatzumgebung von Sui voll ausnutzt, so dass Entwickler eine breite Palette von Anwendungen schnell und kostengünstig Unterstützung betreiben können.

In vorangegangenen Artikeln ("Wie schafft Sui die nächste Entwicklungsplattform für Web3-Milliarden-Nutzer?") hat TinTinLand ausführlich die Grundsituation der technischen Vorteile, Marktaussichten und des ökologischen Bauens von Sui vorgestellt. Heute werden wir in die zugrunde liegende Schicht von Sui eintauchen - die Sprache Move und ihren einzigartigen Stil untersuchen, der sich von anderen Blockchain-Programmiersprachen unterscheidet.

Features von Move Language

Das Sui-Netzwerk setzt auf Smart Contract Execution, wobei die in Rust auf der Sui-Blockchain entwickelte Move-Sprache eine entscheidende Rolle spielt. Die von Sui verwendete Move-Sprache bietet im Vergleich zu Solidity von ETH mehr Sicherheit und Zuverlässigkeit. Darüber hinaus hat Sui die Move-Sprache so modifiziert, dass sie objektzentriert ist und den Schwerpunkt auf objektorientierter Programmierung legt.

Die Move-Sprache auf Sui ermöglicht die Erstellung maßgeschneiderter Smart Contracts, die auf bestimmte Anwendungsfälle zugeschnitten sind, und hilft dabei, die verschiedenen Prozesse bei der Projekt- und Anwendungsentwicklung und -implementierung zu verbessern und die Kosten für traditionelle Vermittler zu senken. Dadurch wird erwartet, dass mehr Entwickler und Benutzer in das Sui-Ökosystem eintreten werden.

Darüber hinaus verhindert das Design der Move-Sprache von Sui doppelte Ausgaben. Auf diese Weise kann es Sui helfen, eine der sichersten Smart-Contract-Plattformen zu etablieren, die die inhärenten Mängel bestehender Kryptowährungs-Programmiersprachen angeht und verbessert.

Ursprüngliches Ziel der Move-Sprache

Sam Blackshear, Mitbegründer und CTO von Sui/Mysten Labs und Schöpfer der Move-Sprache, entwickelte Move, während er bei Meta (ehemals Facebook) am Diem-Blockchain-Projekt arbeitete.

Bevor er die Move-Sprache entwarf, verbrachte Sam mehrere Monate damit, Solidity und das EVM sorgfältig zu studieren. Er war der Meinung, dass Smart-Contract-Sprachen eher domänenspezifischen Sprachen (DSLs) als Allzweck-Programmiersprachen ähneln sollten. Diese Sprachen konzentrieren sich auf bestimmte Aufgaben wie das Erstellen von Objekten, das Übertragen und Freigeben von Objekten und das Durchführen von Zugriffssteuerungsprüfungen. Die Kernabstraktionen der Smart-Contract-Programmierung sollten sich um diese Aufgaben drehen, um Sicherheit und Effizienz zu gewährleisten.

Infolgedessen beschlossen Sam und sein Team, eine neue Sprache namens Move zu entwickeln, anstatt zu versuchen, bestehende Technologien wie EVM oder Solidity zu überarbeiten. Move beginnt mit B-Code und umfasst Funktionen wie Speichersicherheit, Typsicherheit, Ressourcensicherheit und benutzerfreundliche Handhabung von Objekten/Assets.

Mit der erfolgreichen Erstellung der Move-Sprache besteht der nächste wichtige Schritt darin, mehr Entwickler für die Nutzung von Move für die Entwicklung zu gewinnen, indem attraktive Anreize geschaffen werden. Die Überwindung von Barrieren wie komplexer Schlüsselverwaltung, Wallet-Installation und nativem Erwerb von Token ist ihrer Meinung nach entscheidend, um Entwickler anzuziehen.

Daher ist es das Ziel des Move-Entwicklungsteams, diese Herausforderungen in technische Probleme umzuwandeln, indem es Funktionen wie die ZK-Anmeldung bereitstellt, Transaktionen ermöglicht, ohne dass Wallets installiert werden müssen, und es den Transaktionen der Sponsoren ermöglicht, Transaktionsgebühren für andere zu zahlen, wodurch Entwickler reichhaltigere Erlösmodelle erkunden können.

Die Move-Sprache im Sui-Ökosystem, die objektzentriert ist und Funktionen wie globale Speicherung, Adressdarstellung von Objekt-IDs und global eindeutige Objekt-IDs bietet, bildet die Grundlage für andere technologische Innovationen in Sui.

Die wichtigsten Vorteile der Move-Sprache

Zu den wichtigsten Vorteilen der Move-Sprache, die vom Sui-Netzwerk verwendet wird, gehören:

  1. Die Move-Sprache führt ein Ressourcenmodell ein, und jedes Objekt wird als eindeutige Entität betrachtet, wodurch es sicherer wird.

  2. Move bietet ein striktes Typsystem und ein Besitzmodell, das hilft, verschiedene Schwachstellen zur Kompilierzeit zu erkennen und zu verhindern, und eignet sich besonders für die Verarbeitung komplexer Finanztransaktionen.

  3. Move unterstützt ein hohes Maß an Modularität und Composability, sodass Entwickler interoperable Module und Bibliotheken erstellen können.

Ressourcenorientierte Daten

Eine der Kerninnovationen von Move ist die Einführung von ressourcenorientierten Datentypen, die sich wie reale Objekte verhalten und nicht spurlos kopiert oder gelöscht werden können, wodurch unbeabsichtigte Datenmanipulationen verhindert werden.

Move unterstützt zwei Kernobjekte: Smart Contracts (Move-Pakete, bei denen es sich um eine Reihe von Move-Modulen handelt) und digitale Assets (Ressourcen). Suis native Unterstützung für Ressourcen wird durch Bytecode-Überprüfungstabellen ausgedrückt. Nachdem der Move-Quellcode in Bytecode kompiliert wurde, stellt ein statisches Analysetool namens Move Bytecode Verifier sicher, dass der Bytecode den Typ-, Speicher- und Ressourcensicherheitsregeln von Sui entspricht. Diese Überprüfung stellt sicher, dass Objekte nicht durch Code außerhalb ihres definierenden Moduls erstellt, kopiert oder unbeabsichtigt verbrannt werden können. Es umfasst auch den Schutz vor bestimmten Schwachstellen wie doppelten Ausgaben und Wiedereintritten.

Security Model

Move behebt einige Sicherheitsprobleme, die in vorhandenen Sprachen vorhanden sind, wie z. B. Reentrancy, dynamischer Dispatch, Besitzüberprüfungen und Objekt Serialisierung, und bietet Entwicklern eine sicherere Umgebung.

*Es sollte beachtet werden, dass die Sicherheit von Move nicht nur auf der bisherigen Abwesenheit von Hackerangriffen beruht; keine Smart-Contract-Sprache kann Programmierer davon abhalten, unsicheren Code zu schreiben. Audits und andere Überprüfungen sind noch erforderlich, um solche Schwachstellen zu identifizieren.

Das wichtigste Wertversprechen von Move liegt in den typisierten Objekten und der Typsicherheit. Typsicherheit gilt nicht nur innerhalb des Programms, sondern auch bei der Interaktion mit externem Code oder nicht vertrauenswürdigen Quellen.

Eine weitere integrierte Sicherheitsfunktion von Move ist der Bytecode Verifier. Es stellt sicher, dass der Bytecode von Smart Contracts gültig und sicher ausführbar ist. Das Design des Bytecode-Verifiers soll verhindern, dass bösartiger Code auf der Kette ausgeführt wird, wie z. B. das Erstellen gefälschter Coins, das künstliche Erhöhen von Coin-Werten oder das Kopieren/Verbrennen bestehender Coins.

Modulares Design

Mit Move kann Code in Modulen organisiert werden, von denen jedes über einen eigenen Namespace und eigene Datenschutzregeln verfügt, was die Verwaltung und Wiederverwendung von Code erleichtert. Move Code ist in Modulen organisiert, ähnlich wie einzelne Smart Contracts auf anderen Blockchains. Dieses modulare Design wird in Sui betont, um Entwickler zu ermutigen, Module klein zu halten und über verschiedene Dateien verteilt zu halten, während sie sich an klare Datenstrukturen und Codekonventionen halten. Dies erleichtert sowohl die Anwendungsintegration als auch das Benutzerverständnis.

Eine effizientere und sicherere Entwicklungserfahrung

Für Web3-Entwickler ist die Entwicklungserfahrung auf Move und Sui effizienter und sicherer. Es sollte beachtet werden, dass für Web3-Projekte, die mit Move entwickelt wurden, alle Smart Contracts im System konsequent Move verwenden müssen, um die Sicherheitsvorteile von Move voll auszuschöpfen. Wenn alle Verträge in Move geschrieben sind, können Prüfer ausgeführt werden und starke Annahmen über Code und Objekte sicherstellen.

Zum Beispiel baut das Bucket Protocol ein DeFi-Projekt auf dem Sui-Ökosystem auf. Bei der Vorstellung der Systemarchitektur und ihrer Zusammenarbeit erwähnten sie ausdrücklich, dass es acht Monate dauern könnte, wenn sie das Projekt in Solidity schreiben würden, aber die Verwendung von Move dauerte nur zwei Monate, und sie haben großes Vertrauen in die Sicherheit. Die Arbeitsweise von Move stimmt eng mit ihrer Vorstellung von Projektkomposition überein.

Sui für die Standardsprache "Move

"

Innovation und Forschung

Sui Move hat sich aus der Move-Sprache entwickelt und wurde entwickelt, um die Anforderungen neuer Hochleistungs-Blockchains besser zu erfüllen, so dass es bestimmte Unterschiede zur Standardsprache Move aufweist. Basierend auf der Standardsprache Move nutzt Sui seine Sicherheit und Flexibilität, um den Durchsatz erheblich zu verbessern und die Latenzzeit der Endgültigkeit zu reduzieren.

Die Programmiersprache Sui Move weist viele offensichtliche Unterschiede zum Standard-Move auf, darunter:

  • Sui verwendet einen eigenen objektzentrierten globalen Speicher
  • Die Adresse stellt den Objektbezeichner
  • dar Sui-Objekte haben global eindeutige Bezeichner
  • Sui verfügt über einen Modulinitialisierer (init)
  • Der Einstiegspunkt Sui verwendet eine Objektreferenz als Eingabe

Standard Move language

Move wurde 2020 veröffentlicht und ist derzeit unter der Open-Source-Lizenz Apache 2.0 lizenziert. Es wird häufig in Netzwerken wie Aptos, StarCoin, 0L, Rooch, Movement und Offshore verwendet.

Standard Move basiert auf der Programmiersprache Rust und ist im Vergleich zu bestehenden Blockchain-Sprachen, die oft an bestimmte Blockchains gebunden sind, universeller. Das Ziel von Sam, dem Schöpfer der Move-Sprache, ist es, das JavaScript des Web3 zu erstellen, eine plattformübergreifende Sprache, die es Entwicklern ermöglicht, ihre Fähigkeiten in mehreren Netzwerkumgebungen anzuwenden.

Das Hauptaugenmerk von Move liegt auf Smart Contracts, die Typen und Wertdarstellungen für Assets und Zugriffskontrolle enthalten, zwei grundlegende Konzepte, auf die DApp-Entwickler beim Codieren häufig stoßen. Die erstklassige Typenabstraktion von Move macht das Programmieren sicherer und effizienter.

Von Move zu Sui Move

Während die Move-Sprache plattformunabhängig ist, wird sie durch ein Konto zentriertes Modell eingeschränkt. Als Sam und sein Team bei Mysten Labs sich auf den Aufbau von Sui konzentrierten, konzentrierten sie sich auf die Schaffung einer universelleren Netzwerkinfrastruktur und nicht auf den begrenzten Umfang der Diem-Blockchain im Libra-Projekt.

Sui Move ist als Zweig der Move-Sprache konzipiert, um die Innovationen von Sui, wie z. B. das Konsensmodell, besser zu berücksichtigen, wobei der wichtigste Unterschied die Einführung eines objektorientierten Datenspeichermodells ist. Durch die Verwendung von Sui Move als native Programmiersprache erreicht das Sui-Netzwerk eine beeindruckende Transaktionsleistung mit Apps, die in Sui Move geschrieben wurden und den Konsensmechanismus von Sui nutzen.

Letztes Jahr hat Sam die Unterschiede zwischen Move und Sui Move in einem Artikel mit dem Titel "Warum wir Sui Move entwickelt haben" detailliert beschrieben, in dem er die Funktionen und Möglichkeiten von Sui Move vorstellte.

🔗 Lesen Sie den vollständigen Artikel hier: https://blog.sui.io/why-we-created-sui-move

Durch die Fokussierung auf Objekte wird eine parallele Transaktionsverarbeitung möglich, die im Vergleich zu Blockchains, die auf die serielle Verarbeitung beschränkt sind, eine bessere Leistung bietet. Auf einer höheren Ebene kann die Sui-Laufzeit exklusive Objekte direkt im Vergleich zu gemeinsam genutzten Objekten bestimmen, indem sie eine sofortige Validierung für erstere durchführt und eine Konsensvalidierung für letztere anwendet.

Aus der Sicht eines Entwicklers eliminiert Sui die Notwendigkeit umfangreicher Vor- und Nachbearbeitungsarbeiten im Zusammenhang mit dem Besitz von Vermögenswerten. Während die ursprüngliche Move-Sprache den globalen Speicher über Adressen und Typnamen steuert, verwendet Sui Move Objekt-IDs für die globale Speichersteuerung. Die Betonung des Objektstatus gibt Sui Move grenzenlose Möglichkeiten, wie z.B. die Zusammensetzbarkeit, bei der Objekte andere Objekte besitzen können.

Move Entwicklungsreise

Move und andere Blockchain-Sprachen sind stark von den Traditionen der Kryptographie beeinflusst und konzentrieren sich mehr auf den Besitz von Vermögenswerten, führend sie eher Konto-zentriert als vermögenszentriert sind. Die Aufspaltung von Sui Move bietet mehr Flexibilität bei der Erstellung und dem Betrieb von Vermögenswerten und öffnet Türen zu einer Vielzahl leistungsstarker Programme und Spiele, die von den Massen erwartet werden.

Wie wechselt man also von der Entwicklung mit der Standardsprache Move zu Sui Move? Entwickler, die mit dem ursprünglichen Move vertraut sind, werden ihre Toolbox um eine äußerst nützliche, portable Sprache erweitern. Um in Sui Move einzutauchen, muss man aus der Perspektive von Objekten denken und einige neue Anweisungen lernen, aber Tools wie Sui Move Analyzer und WELLDONE Code-Plugins können diesen Prozess vereinfachen.

🛠️ Sui Move Analyzer Plugin: https://zh.blog.sui.io/move-analyzer-tutorial/

🛠️ WELLDONE Code-Plugin: https://zh.blog.sui.io/remix-ide-welldone-code/

🔍 Erfahren Sie mehr über die Entwicklung der Move-Sprache:

📄 Entwicklerdokumentation verschieben: https://docs-zh.sui-book.com/concepts/sui-move-concepts/

📄 Sui-Entwicklerdokumentation: https://docs.sui.io/guides/developer/sui-101

📄 Grundlegende Entwicklungs-Tutorials: https://zh.blog.sui.io/encode-club-sui-series-1/

Haftungsausschluss:

  1. Dieser Artikel ist ein Nachdruck von [TinTinLand], Alle Urheberrechte liegen beim ursprünglichen Autor [TinTinLand]. Wenn es Einwände gegen diesen Nachdruck gibt, wenden Sie sich bitte an das Gate Learn-Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.

Let's Move Sui: Die zugrundeliegende Move-Sprache von Sui erklärt

Fortgeschrittene6/12/2024, 2:46:33 PM
Sui Network setzt auf Smart Contract Execution, bei der die in Rust auf der Sui-Blockchain entwickelte Sprache Move eine entscheidende Rolle spielt. Wir befassen uns mit der zugrunde liegenden Move-Sprache von Sui, um ihren einzigartigen Charme zu erkunden, der sich von anderen Blockchain-Programmiersprachen unterscheidet.

Sui ist eine öffentliche L1-Chain, die von Grund auf neu gestaltet und aufgebaut wurde, um eine Entwicklungsplattform bereitzustellen, die in der Lage ist, die nächste Milliarde Nutzer im Web3 für Schöpfer und Entwickler aufzunehmen.

In diesem Jahr wurde Suis native Programmiersprache Move erheblich aktualisiert und verbessert. Die Version 2024 führt wichtige Funktionen wie Enumerationen, Makrofunktionen, Methodensyntax und mehr ein. Diese wesentlichen neuen Funktionen eröffnen neue Möglichkeiten zur Definition von Daten und zum Aufrufen von Funktionen in der Programmiersprache Move, wodurch die Anwendungsentwicklung auf Sui flexibler und an die neuesten Erwartungen an Programmiersprachen angepasst wird.

Was ist die Schlüsselrolle der Move-Sprache im Sui-Ökosystem? Tatsächlich basiert das gesamte Sui-Ökosystem auf drei Schlüsselkonzepten, die eine sofortige Transaktionsabwicklung und niedrige Transaktionskosten gewährleisten – die drei Kernsäulen sind die Move-Sprache, die parallele Transaktionsausführung und die Sui-Konsens-Engine.

Anwendungen auf Sui basieren auf der Smart-Contract-Sprache Move, die sich auf Smart Contracts konzentriert und die Skalierbarkeit und Hochdurchsatzumgebung von Sui voll ausnutzt, so dass Entwickler eine breite Palette von Anwendungen schnell und kostengünstig Unterstützung betreiben können.

In vorangegangenen Artikeln ("Wie schafft Sui die nächste Entwicklungsplattform für Web3-Milliarden-Nutzer?") hat TinTinLand ausführlich die Grundsituation der technischen Vorteile, Marktaussichten und des ökologischen Bauens von Sui vorgestellt. Heute werden wir in die zugrunde liegende Schicht von Sui eintauchen - die Sprache Move und ihren einzigartigen Stil untersuchen, der sich von anderen Blockchain-Programmiersprachen unterscheidet.

Features von Move Language

Das Sui-Netzwerk setzt auf Smart Contract Execution, wobei die in Rust auf der Sui-Blockchain entwickelte Move-Sprache eine entscheidende Rolle spielt. Die von Sui verwendete Move-Sprache bietet im Vergleich zu Solidity von ETH mehr Sicherheit und Zuverlässigkeit. Darüber hinaus hat Sui die Move-Sprache so modifiziert, dass sie objektzentriert ist und den Schwerpunkt auf objektorientierter Programmierung legt.

Die Move-Sprache auf Sui ermöglicht die Erstellung maßgeschneiderter Smart Contracts, die auf bestimmte Anwendungsfälle zugeschnitten sind, und hilft dabei, die verschiedenen Prozesse bei der Projekt- und Anwendungsentwicklung und -implementierung zu verbessern und die Kosten für traditionelle Vermittler zu senken. Dadurch wird erwartet, dass mehr Entwickler und Benutzer in das Sui-Ökosystem eintreten werden.

Darüber hinaus verhindert das Design der Move-Sprache von Sui doppelte Ausgaben. Auf diese Weise kann es Sui helfen, eine der sichersten Smart-Contract-Plattformen zu etablieren, die die inhärenten Mängel bestehender Kryptowährungs-Programmiersprachen angeht und verbessert.

Ursprüngliches Ziel der Move-Sprache

Sam Blackshear, Mitbegründer und CTO von Sui/Mysten Labs und Schöpfer der Move-Sprache, entwickelte Move, während er bei Meta (ehemals Facebook) am Diem-Blockchain-Projekt arbeitete.

Bevor er die Move-Sprache entwarf, verbrachte Sam mehrere Monate damit, Solidity und das EVM sorgfältig zu studieren. Er war der Meinung, dass Smart-Contract-Sprachen eher domänenspezifischen Sprachen (DSLs) als Allzweck-Programmiersprachen ähneln sollten. Diese Sprachen konzentrieren sich auf bestimmte Aufgaben wie das Erstellen von Objekten, das Übertragen und Freigeben von Objekten und das Durchführen von Zugriffssteuerungsprüfungen. Die Kernabstraktionen der Smart-Contract-Programmierung sollten sich um diese Aufgaben drehen, um Sicherheit und Effizienz zu gewährleisten.

Infolgedessen beschlossen Sam und sein Team, eine neue Sprache namens Move zu entwickeln, anstatt zu versuchen, bestehende Technologien wie EVM oder Solidity zu überarbeiten. Move beginnt mit B-Code und umfasst Funktionen wie Speichersicherheit, Typsicherheit, Ressourcensicherheit und benutzerfreundliche Handhabung von Objekten/Assets.

Mit der erfolgreichen Erstellung der Move-Sprache besteht der nächste wichtige Schritt darin, mehr Entwickler für die Nutzung von Move für die Entwicklung zu gewinnen, indem attraktive Anreize geschaffen werden. Die Überwindung von Barrieren wie komplexer Schlüsselverwaltung, Wallet-Installation und nativem Erwerb von Token ist ihrer Meinung nach entscheidend, um Entwickler anzuziehen.

Daher ist es das Ziel des Move-Entwicklungsteams, diese Herausforderungen in technische Probleme umzuwandeln, indem es Funktionen wie die ZK-Anmeldung bereitstellt, Transaktionen ermöglicht, ohne dass Wallets installiert werden müssen, und es den Transaktionen der Sponsoren ermöglicht, Transaktionsgebühren für andere zu zahlen, wodurch Entwickler reichhaltigere Erlösmodelle erkunden können.

Die Move-Sprache im Sui-Ökosystem, die objektzentriert ist und Funktionen wie globale Speicherung, Adressdarstellung von Objekt-IDs und global eindeutige Objekt-IDs bietet, bildet die Grundlage für andere technologische Innovationen in Sui.

Die wichtigsten Vorteile der Move-Sprache

Zu den wichtigsten Vorteilen der Move-Sprache, die vom Sui-Netzwerk verwendet wird, gehören:

  1. Die Move-Sprache führt ein Ressourcenmodell ein, und jedes Objekt wird als eindeutige Entität betrachtet, wodurch es sicherer wird.

  2. Move bietet ein striktes Typsystem und ein Besitzmodell, das hilft, verschiedene Schwachstellen zur Kompilierzeit zu erkennen und zu verhindern, und eignet sich besonders für die Verarbeitung komplexer Finanztransaktionen.

  3. Move unterstützt ein hohes Maß an Modularität und Composability, sodass Entwickler interoperable Module und Bibliotheken erstellen können.

Ressourcenorientierte Daten

Eine der Kerninnovationen von Move ist die Einführung von ressourcenorientierten Datentypen, die sich wie reale Objekte verhalten und nicht spurlos kopiert oder gelöscht werden können, wodurch unbeabsichtigte Datenmanipulationen verhindert werden.

Move unterstützt zwei Kernobjekte: Smart Contracts (Move-Pakete, bei denen es sich um eine Reihe von Move-Modulen handelt) und digitale Assets (Ressourcen). Suis native Unterstützung für Ressourcen wird durch Bytecode-Überprüfungstabellen ausgedrückt. Nachdem der Move-Quellcode in Bytecode kompiliert wurde, stellt ein statisches Analysetool namens Move Bytecode Verifier sicher, dass der Bytecode den Typ-, Speicher- und Ressourcensicherheitsregeln von Sui entspricht. Diese Überprüfung stellt sicher, dass Objekte nicht durch Code außerhalb ihres definierenden Moduls erstellt, kopiert oder unbeabsichtigt verbrannt werden können. Es umfasst auch den Schutz vor bestimmten Schwachstellen wie doppelten Ausgaben und Wiedereintritten.

Security Model

Move behebt einige Sicherheitsprobleme, die in vorhandenen Sprachen vorhanden sind, wie z. B. Reentrancy, dynamischer Dispatch, Besitzüberprüfungen und Objekt Serialisierung, und bietet Entwicklern eine sicherere Umgebung.

*Es sollte beachtet werden, dass die Sicherheit von Move nicht nur auf der bisherigen Abwesenheit von Hackerangriffen beruht; keine Smart-Contract-Sprache kann Programmierer davon abhalten, unsicheren Code zu schreiben. Audits und andere Überprüfungen sind noch erforderlich, um solche Schwachstellen zu identifizieren.

Das wichtigste Wertversprechen von Move liegt in den typisierten Objekten und der Typsicherheit. Typsicherheit gilt nicht nur innerhalb des Programms, sondern auch bei der Interaktion mit externem Code oder nicht vertrauenswürdigen Quellen.

Eine weitere integrierte Sicherheitsfunktion von Move ist der Bytecode Verifier. Es stellt sicher, dass der Bytecode von Smart Contracts gültig und sicher ausführbar ist. Das Design des Bytecode-Verifiers soll verhindern, dass bösartiger Code auf der Kette ausgeführt wird, wie z. B. das Erstellen gefälschter Coins, das künstliche Erhöhen von Coin-Werten oder das Kopieren/Verbrennen bestehender Coins.

Modulares Design

Mit Move kann Code in Modulen organisiert werden, von denen jedes über einen eigenen Namespace und eigene Datenschutzregeln verfügt, was die Verwaltung und Wiederverwendung von Code erleichtert. Move Code ist in Modulen organisiert, ähnlich wie einzelne Smart Contracts auf anderen Blockchains. Dieses modulare Design wird in Sui betont, um Entwickler zu ermutigen, Module klein zu halten und über verschiedene Dateien verteilt zu halten, während sie sich an klare Datenstrukturen und Codekonventionen halten. Dies erleichtert sowohl die Anwendungsintegration als auch das Benutzerverständnis.

Eine effizientere und sicherere Entwicklungserfahrung

Für Web3-Entwickler ist die Entwicklungserfahrung auf Move und Sui effizienter und sicherer. Es sollte beachtet werden, dass für Web3-Projekte, die mit Move entwickelt wurden, alle Smart Contracts im System konsequent Move verwenden müssen, um die Sicherheitsvorteile von Move voll auszuschöpfen. Wenn alle Verträge in Move geschrieben sind, können Prüfer ausgeführt werden und starke Annahmen über Code und Objekte sicherstellen.

Zum Beispiel baut das Bucket Protocol ein DeFi-Projekt auf dem Sui-Ökosystem auf. Bei der Vorstellung der Systemarchitektur und ihrer Zusammenarbeit erwähnten sie ausdrücklich, dass es acht Monate dauern könnte, wenn sie das Projekt in Solidity schreiben würden, aber die Verwendung von Move dauerte nur zwei Monate, und sie haben großes Vertrauen in die Sicherheit. Die Arbeitsweise von Move stimmt eng mit ihrer Vorstellung von Projektkomposition überein.

Sui für die Standardsprache "Move

"

Innovation und Forschung

Sui Move hat sich aus der Move-Sprache entwickelt und wurde entwickelt, um die Anforderungen neuer Hochleistungs-Blockchains besser zu erfüllen, so dass es bestimmte Unterschiede zur Standardsprache Move aufweist. Basierend auf der Standardsprache Move nutzt Sui seine Sicherheit und Flexibilität, um den Durchsatz erheblich zu verbessern und die Latenzzeit der Endgültigkeit zu reduzieren.

Die Programmiersprache Sui Move weist viele offensichtliche Unterschiede zum Standard-Move auf, darunter:

  • Sui verwendet einen eigenen objektzentrierten globalen Speicher
  • Die Adresse stellt den Objektbezeichner
  • dar Sui-Objekte haben global eindeutige Bezeichner
  • Sui verfügt über einen Modulinitialisierer (init)
  • Der Einstiegspunkt Sui verwendet eine Objektreferenz als Eingabe

Standard Move language

Move wurde 2020 veröffentlicht und ist derzeit unter der Open-Source-Lizenz Apache 2.0 lizenziert. Es wird häufig in Netzwerken wie Aptos, StarCoin, 0L, Rooch, Movement und Offshore verwendet.

Standard Move basiert auf der Programmiersprache Rust und ist im Vergleich zu bestehenden Blockchain-Sprachen, die oft an bestimmte Blockchains gebunden sind, universeller. Das Ziel von Sam, dem Schöpfer der Move-Sprache, ist es, das JavaScript des Web3 zu erstellen, eine plattformübergreifende Sprache, die es Entwicklern ermöglicht, ihre Fähigkeiten in mehreren Netzwerkumgebungen anzuwenden.

Das Hauptaugenmerk von Move liegt auf Smart Contracts, die Typen und Wertdarstellungen für Assets und Zugriffskontrolle enthalten, zwei grundlegende Konzepte, auf die DApp-Entwickler beim Codieren häufig stoßen. Die erstklassige Typenabstraktion von Move macht das Programmieren sicherer und effizienter.

Von Move zu Sui Move

Während die Move-Sprache plattformunabhängig ist, wird sie durch ein Konto zentriertes Modell eingeschränkt. Als Sam und sein Team bei Mysten Labs sich auf den Aufbau von Sui konzentrierten, konzentrierten sie sich auf die Schaffung einer universelleren Netzwerkinfrastruktur und nicht auf den begrenzten Umfang der Diem-Blockchain im Libra-Projekt.

Sui Move ist als Zweig der Move-Sprache konzipiert, um die Innovationen von Sui, wie z. B. das Konsensmodell, besser zu berücksichtigen, wobei der wichtigste Unterschied die Einführung eines objektorientierten Datenspeichermodells ist. Durch die Verwendung von Sui Move als native Programmiersprache erreicht das Sui-Netzwerk eine beeindruckende Transaktionsleistung mit Apps, die in Sui Move geschrieben wurden und den Konsensmechanismus von Sui nutzen.

Letztes Jahr hat Sam die Unterschiede zwischen Move und Sui Move in einem Artikel mit dem Titel "Warum wir Sui Move entwickelt haben" detailliert beschrieben, in dem er die Funktionen und Möglichkeiten von Sui Move vorstellte.

🔗 Lesen Sie den vollständigen Artikel hier: https://blog.sui.io/why-we-created-sui-move

Durch die Fokussierung auf Objekte wird eine parallele Transaktionsverarbeitung möglich, die im Vergleich zu Blockchains, die auf die serielle Verarbeitung beschränkt sind, eine bessere Leistung bietet. Auf einer höheren Ebene kann die Sui-Laufzeit exklusive Objekte direkt im Vergleich zu gemeinsam genutzten Objekten bestimmen, indem sie eine sofortige Validierung für erstere durchführt und eine Konsensvalidierung für letztere anwendet.

Aus der Sicht eines Entwicklers eliminiert Sui die Notwendigkeit umfangreicher Vor- und Nachbearbeitungsarbeiten im Zusammenhang mit dem Besitz von Vermögenswerten. Während die ursprüngliche Move-Sprache den globalen Speicher über Adressen und Typnamen steuert, verwendet Sui Move Objekt-IDs für die globale Speichersteuerung. Die Betonung des Objektstatus gibt Sui Move grenzenlose Möglichkeiten, wie z.B. die Zusammensetzbarkeit, bei der Objekte andere Objekte besitzen können.

Move Entwicklungsreise

Move und andere Blockchain-Sprachen sind stark von den Traditionen der Kryptographie beeinflusst und konzentrieren sich mehr auf den Besitz von Vermögenswerten, führend sie eher Konto-zentriert als vermögenszentriert sind. Die Aufspaltung von Sui Move bietet mehr Flexibilität bei der Erstellung und dem Betrieb von Vermögenswerten und öffnet Türen zu einer Vielzahl leistungsstarker Programme und Spiele, die von den Massen erwartet werden.

Wie wechselt man also von der Entwicklung mit der Standardsprache Move zu Sui Move? Entwickler, die mit dem ursprünglichen Move vertraut sind, werden ihre Toolbox um eine äußerst nützliche, portable Sprache erweitern. Um in Sui Move einzutauchen, muss man aus der Perspektive von Objekten denken und einige neue Anweisungen lernen, aber Tools wie Sui Move Analyzer und WELLDONE Code-Plugins können diesen Prozess vereinfachen.

🛠️ Sui Move Analyzer Plugin: https://zh.blog.sui.io/move-analyzer-tutorial/

🛠️ WELLDONE Code-Plugin: https://zh.blog.sui.io/remix-ide-welldone-code/

🔍 Erfahren Sie mehr über die Entwicklung der Move-Sprache:

📄 Entwicklerdokumentation verschieben: https://docs-zh.sui-book.com/concepts/sui-move-concepts/

📄 Sui-Entwicklerdokumentation: https://docs.sui.io/guides/developer/sui-101

📄 Grundlegende Entwicklungs-Tutorials: https://zh.blog.sui.io/encode-club-sui-series-1/

Haftungsausschluss:

  1. Dieser Artikel ist ein Nachdruck von [TinTinLand], Alle Urheberrechte liegen beim ursprünglichen Autor [TinTinLand]. Wenn es Einwände gegen diesen Nachdruck gibt, wenden Sie sich bitte an das Gate Learn-Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!