Beitrag
Teile dein Wissen.

Sui CLI Spickzettel Teil 2
Gas und Wasserhahn mit Sui CLI
Wenn Sie Ihre Apps entwickeln, beginnen Sie idealerweise im Devnet und dann im Testnet, bevor Sie sie im Mainnet bereitstellen.
Devnet und Testnet Gas können kostenlos erworben werden. Aber Mainnet? Nee.
Sie können Gas ganz einfach auf devnet mit dem client faucet
folgenden Befehl anfordern:
sui client faucet
Für Testnet müssen Sie diesen cURL-Befehl ausführen, um Gas anzufordern:
curl --location --request POST 'https://faucet.devnet.sui.io/v1/gas' \
--header 'Content-Type: application/json' \
--data-raw '{
"FixedAmountRequest": {
"recipient": "<YOUR SUI ADDRESS>"
}
}'
Sie können auch die offizielle Website von Sui Faucet besuchen, um einige Devnet- und Testnet-Token zu erhalten.
Verwenden Sie den Befehl client gas, um die verfügbaren Gas-Token des Clients in der aktuellen Umgebung zu überprüfen.
sui client gas
Für Mainnet-Transaktionen müssen Sie Sui an Börsen erwerben und Ihr Wallet aufladen.
Pakete veröffentlichen
Mit dem Befehl client publish können Sie Pakete im Sui-Netzwerk veröffentlichen.
sui client publish [OPTIONS] [package_path]
Hier ist ein Beispielbefehl zum Veröffentlichen eines Pakets mit 5000000 MIST-Gasbudget.
sui client publish --gas-budget 5000000
Das Gasbudget ist nicht festgelegt. Wahrscheinlich möchten Sie bei Onchain nach einer geeigneten Gasmenge suchen und diese weiterzahlen.
Münzverwaltung mit Sui CLI
Wenn du mit SUI-Münzen arbeitest, wirst du sie wahrscheinlich oft zusammenführen und aufteilen müssen — vor allem, wenn du mit Benzin jonglierst oder verschiedene Beträge an verschiedene Verträge oder Nutzer sendest.
Wenn du zwei Münzen herumliegen hast und du sie konsolidieren möchtest, verwende den Befehl merge-coin wie folgt:
sui client merge-coin --primary-coin <COIN_ID> --coin-to-merge <COIN_ID>
Die Primärmünze ist die, die du behalten wirst, und die zu mergende Münze ist die, die absorbiert wird.
Müssen Sie stattdessen eine Münze teilen? Vielleicht möchtest du an mehrere Empfänger auszahlen oder benötigst einfach nur unterschiedliche Nennwerte. Du kannst eine Münze mit Split-Coin wie folgt in Scheiben schneiden:
sui client split-coin --coin-id <COIN_ID> --amounts <AMOUNTS>
Wenn du Coins verschicken musst, verwendest du den Befehl client transfer-sui wie folgt:
sui client transfer-sui --sui-coin-object-id <COIN_ID> --to <ADDRESS>
Es ist eine einfache Übergabe — Sie geben ihm die Coin-ID und die Adresse des Empfängers, und das Geld wird überwiesen.
Sui verfügt über programmierbare Transaktionen, sodass Sie mit dem Befehl pay-sui an mehrere Empfänger gleichzeitig senden können:
sui client pay-sui --input-coins <COIN_ID> --recipients <ADDRESS> --amounts <AMOUNTS>
Sie geben eine Münze (oder eine Liste von Münzen) weiter und geben dann die Empfänger an und wie viel jeder erhalten soll. Es ist perfekt für Sammelzahlungen oder die Verteilung von Tokens in großen Mengen.
Objektverwaltung mit Sui CLI
Bei Sui dreht sich alles um Objekte. Verträge, Tokens und sogar deine Münzen — das sind alles Objekte.
Um detaillierte Informationen zu einem Objekt zu erhalten, rufen Sie einfach an:
sui client object <OBJECT_ID>
Dadurch werden alle Metadaten, Besitzerinformationen und alles andere, was das Objekt enthält, ausgegeben.
Wenn Ihr Objekt dynamische Felder hat (wie eine Registrierung oder eine wachsende Datenstruktur), können Sie sich auch mit diesen befassen:
sui client dynamic-field <DYNAMIC_FIELD_ID>
Dies ist eine sehr praktische Funktion, die Sie während der Entwicklung möglicherweise häufig verwenden.
Programmierbare Transaktionsblöcke (PTBs)
Sui ist eine der wenigen Ketten mit nativen PTBs. Mit programmierbaren Transaktionsblöcken können Sie mehrere Operationen in einer einzigen Transaktion bündeln — quasi wie ein Mini-Skript, das in der Kette ausgeführt wird.
Angenommen, Sie müssen eine Move-Funktion direkt von Ihrer CLI aus aufrufen. Du wirst das so machen:
sui client ptb --move-call <PACKAGE>::<MODULE>::<FUNCTION> "<TYPE>" <ARGS>
Ersetzen Sie die Paketadresse, den Modulnamen und die Funktion, auf die Sie abzielen. Geben Sie dann nach Bedarf den Typ und die Argumente ein.
Und wenn Sie mehrere Objekte auf einmal in eine andere Wallet übertragen möchten, können Sie auch PTBs verwenden:
sui client ptb --transfer-objects "[<OBJECT_ID>]" <ADDRESS>
Wrap the object IDs in brackets if you’re sending more than one, and finish it off with the recipient’s address.
Fazit
Hoffentlich reicht dieser Artikel aus, um Ihnen das Sui CLI-Tool vorzustellen. Es ist mehr als ein Client, mit diesem Tool können Sie viel tun.
Wenn du mal eine kurze Auffrischung brauchst oder einen neuen Befehl ausprobierst, mach den Sui CLI Cheat Sheet zu deinem besten Freund. Und im Zweifelsfall finden Sie in den Sui Client CLI Docs die vollständige Aufschlüsselung.
- Sui
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