Beitrag
Teile dein Wissen.

So veröffentlichen Sie Roh-Bytecode auf SUI Localnet
Die Bereitstellung intelligenter Verträge auf der SUI-Blockchain beinhaltet in der Regel das Kompilieren von Move-Code in Bytecode und dessen Veröffentlichung im Netzwerk. Während die SUI-CLI einen Großteil dieses Prozesses automatisiert, suchen Entwickler gelegentlich nach Anleitungen zur manuellen Handhabung von Roh-Bytecode, insbesondere in lokalen Testumgebungen wieLocalnet. In diesem Artikel werden die Schritte zur Veröffentlichung von Roh-Bytecode auf SUI Localnet unter Verwendung der SUI-CLI und der Entwicklungstools beschrieben.
Voraussetzungen für SUI Localnet
Bevor Sie mit der Bereitstellung beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
sui
SUI CLI Installiert: Folgen Sie der offiziellen Installationsanleitung, um das Befehlszeilentool einzurichten. 2.Localnet Running: Verwenden Sie diesui-test-validator
Binärdatei, um ein lokales SUI-Netzwerk zum Testen zu starten (https://docs.sui.io/). 3.Move-Paket: Ein funktionales Move-Paket mit konfigurierten Modulen und Abhängigkeiten.
Was ist SUI Localnet
SUI Localnet ist eine Sandbox-Umgebung zum Testen intelligenter Verträge, ohne reale Vermögenswerte zu gefährden. Es ermöglicht Entwicklern, Interaktionen zu simulieren, Logik zu debuggen und Bereitstellungen zu überprüfen, bevor sie zu Devnet oder Mainnet wechseln. Um Localnet zu starten, führen Sie Folgendes aus:
sui-test-validator
Dies initialisiert einen lokalen Validator-Knoten und bietet ein neues Testgelände mit vorfinanzierten Konten (https://docs.sui.io/)(https://scaf.gitbook.io/scaf/).
Wie bereite ich mein Umzugspaket vor?
Ein Move-Paket besteht aus Quellcode (sources/
), Abhängigkeiten (deps/
) und Build-Artefakten (build/
). Um Roh-Bytecode zu kompilieren, konzentrieren Sie sich auf das build
Verzeichnis, das .mv
Dateien enthält — den kompilierten Move-Bytecode.
1.Das Paket erstellen:
sui client build <package_path>
<package_path>
Ersetzen Sie durch das Verzeichnis, das Ihre Move.toml
Datei enthält. build/
Dadurch wird Bytecode im Ordner generiert.
2.Bytecode suchen:
Navigieren Sie zu, build/<package_name>/bytecode/
um die .mv
Dateien für jedes Modul zu finden. Diese stellen den Roh-Bytecode dar, der veröffentlicht werden soll.
Roh-Bytecode auf Localnet veröffentlichen
sui client publish
Während die SUI-CLI die Bytecodeverwaltung abstrahiert, können Sie Roh-Bytecode mit dem Befehl manuell veröffentlichen. Dieser Befehl akzeptiert vorgefertigten Bytecode, anstatt das Paket neu zu kompilieren.
Schrittweise Anleitung
1.Starten Sie Localnet: Stellen Sie sicher, dass der lokale Validator läuft:
sui-test-validator
2.Bytecode veröffentlichen:
Verwenden Sie den publish
Befehl mit dem --bytecode
Flag, um das Raw-Bytecode-Verzeichnis anzugeben:
sui client publish --bytecode <bytecode_path>
<bytecode_path>
Ersetzen Sie durch den Pfad zu Ihrem build/<package_name>/bytecode/
Verzeichnis.
Beispiel:
sui client publish --bytecode ./build/my_package/bytecode/
Die CLI sendet den Bytecode an das Localnet und erstellt ein neues Paketobjekt in der Kette (https://thelib.to/move-book)(https://sui.io/).
3.Bereitstellung überprüfen: Überprüfen Sie die Transaktionsdetails in der CLI-Ausgabe. Verwenden Sie den SUI Explorer (falls für Localnet verfügbar) oder fragen Sie das Paket ab über:
sui client get-package <package_id>
Typischer Fehler mit Sui CLI
1.Nicht übereinstimmende CLI-Version
Wenn die CLI Befehle nicht erkennt, aktualisieren Sie sie mit der für Ihr Betriebssystem empfohlenen Methode. Vermeiden Sie manuelle Aktualisierungen übercargo
, um Abhängigkeitskonflikte zu vermeiden (https://discord.gg/sui).
2.Bytecode-Pfadfehler
--bytecode
Stellen Sie sicher, dass das .mv
Flag direkt auf das Verzeichnis zeigt, das die Dateien enthält. Falsche Pfade führen zu Kompilierungsfehlern.
3.Fehler bei der Localnet-Verbindung
Vergewissern Sie sich, dass das sui-test-validator
aktiv ist und dass Ihre CLI-Konfiguration auf Localnet verweist. Verwenden Sie:
sui client envs
um die aktive Umgebung zu überprüfen (https://docs.sui.io/).
Fazit
publish``--bytecode
Das Veröffentlichen von Roh-Bytecode auf SUI Localnet ist ein grundlegender Vorgang, wenn Sie den Befehl der SUI-CLI mit dem Flag verwenden. Durch die Nutzung der isolierten Umgebung von Localnet können Entwickler Verträge iterativ testen, ohne dass Kosten oder Risiken entstehen. Eine manuelle Bytecode-Manipulation ist zwar möglich, aber das Design der Plattform priorisiert die Automatisierung, wodurch Zuverlässigkeit und Einfachheit für die meisten Anwendungsfälle gewährleistet werden.
- Sui
- SDKs and Developer Tools
- Move
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Verdiene deinen Anteil an 1000 Sui
Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.
- Warum benötigt BCS eine genaue Feldreihenfolge für die Deserialisierung, wenn Move-Strukturen benannte Felder haben?53
- Fehler bei der Überprüfung mehrerer Quellen“ in den Veröffentlichungen des Sui Move-Moduls — Automatisierte Fehlerbehebung43
- Sui-Transaktion schlägt fehl: Objekte sind für eine andere Transaktion reserviert25
- Wie interagieren Fähigkeitsbeschränkungen mit dynamischen Feldern in heterogenen Sammlungen?05