Sui ist die Kette der Gegenwart, und obwohl Move der heilige Gral für das Schreiben intelligenter Verträge auf Sui ist, ist die TypeScript-Unterstützung von Bedeutung. Mit TypeScript können Sie mit Sui und den meisten DeFi-Apps im Ökosystem interagieren und diese nutzen.
In diesem Tutorial zeige ich Ihnen, wie Sie über TypeScript mit dem Sui-Netzwerk interagieren. Sie erfahren, wie Sie den Status der Blockchain lesen und Transaktionen aus Ihren TypeScript-Programmen in die Kette schreiben.
Die einzige Voraussetzung ist, dass Sie grundlegende JS/TS-Kenntnisse benötigen, um dieses Tutorial reibungslos ausführen zu können. Ich erkläre Ihnen alles Weitere.
Erstellen Sie zunächst ein neues TypeScript-Projekt in Ihrem Terminal und initialisieren Sie ein neues Node.js-Projekt.
mkdir SuiTS cd SuiTS npm init -y
Installieren Sie TypeScript als Entwicklungsabhängigkeit, falls Sie es noch nicht haben.
npm install typescript --save-dev npm install ts-node //runs TS without the need for transpiling
Jetzt können Sie ein neues TypeScript-Projekt initialisieren. Dieser Befehl erstellt eine tsconfig.json-Datei mit Standardoptionen, die Sie für Ihr Projekt anpassen können.
npx tsc --init
Öffnen Sie tsconfig.json und fügen Sie diese Konfigurationen ein.
{ "compilerOptions": { "target": "ES2020", "module": "CommonJS", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "types": ["node"], "resolveJsonModule": true }, "exclude": ["node_modules"], "scripts": { "build": "tsc", "start": "node dist/index.js" } }
Erstellen Sie ein src-Verzeichnis, in dem Sie Ihre TypeScript-Dateien hinzufügen.
mkdir src touch src/index.ts
Schließlich installieren Sie das Sui TypeScript SDK mit diesem Befehl.
npm i @mysten/sui.js
Sie sind bereit. Sie können mit dem Schreiben von TypeScript-Programmen beginnen, die mit der Sui-Blockchain interagieren.
Sie müssen eine Verbindung zu einer Sui-Blockchain herstellen, um mit der Kette interagieren zu können.
Importieren Sie zunächst getFullnodeUrl und SuiClient aus dem SDK-Clientmodul.
import { getFullnodeUrl, SuiClient } from '@mysten/sui/client';
Jetzt können Sie je nach gewünschter Verbindung getFullnodeUrl verwenden, um die vollständige Knoten-URL des Sui-Testnetzes, Mainnets, Localnets oder Devnets abzurufen. Verwenden Sie dann den SuiClient, um eine Verbindung zur Client-Instanz herzustellen.
import { getFullnodeUrl, SuiClient } from '@mysten/sui/client'; const rpcUrl = getFullnodeUrl('mainnet'); const client = new SuiClient({ url: rpcUrl });
Um Ihre Verbindung zu testen, können Sie getLatestSuiSystemState verwenden, um den neuesten Status des Netzwerks abzurufen.
// index.ts import { getFullnodeUrl, SuiClient } from '@mysten/sui/client'; const rpcUrl = getFullnodeUrl("mainnet"); const client = new SuiClient({ url: rpcUrl }); async function getNetworkStatus() { const currentEpoch = await client.getLatestSuiSystemState(); console.log(currentEpoch) } getNetworkStatus();
Transpilieren Sie nun den TypeScript-Code in JavaScript und führen Sie ihn mit diesem Befehl aus:
ts-node index.ts
Sie sollten eine ähnliche Ausgabe erwarten, wenn Sie den Befehl ausführen.
Das Erstellen einer Wallet ist ein weiterer beliebter Vorgang, der nützlich sein könnte, wenn Sie auf dem Sui-Netzwerk aufbauen.
Hier erfahren Sie, wie Sie Sui-Wallet-Schlüsselpaare generieren und die privaten und öffentlichen Schlüssel aus dem Schlüsselpaar abrufen.
import { Ed25519Keypair } from '@mysten/sui/keypairs/ed25519'; import { getFullnodeUrl, SuiClient } from '@mysten/sui/client'; const rpcUrl = getFullnodeUrl("mainnet"); const client = new SuiClient({ url: rpcUrl }); // random Keypair const keypair = new Ed25519Keypair(); const publicKey = keypair.getPublicKey(); const privatekey = keypair.getSecretKey(); console.log(privatekey.toString()); console.log(publicKey.toSuiAddress());
Die Funktion Ed25519Keypair erstellt ein neues Schlüsselpaar. Mit den Methoden getPublicKey und getPrivateKey erhalten Sie Zugriff auf den öffentlichen bzw. privaten Schlüssel.
Hier ist die String-Ausgabe der privaten und öffentlichen Schlüssel, die ich mit dem Programm generiert habe:
mkdir SuiTS cd SuiTS npm init -y
Ich finanziere dieses Wallet mit 0,25 Sui für die nächsten Operationen. Fühlen Sie sich frei, das Wallet zu verifizieren und zu scannen. Senden Sie keine Gelder; Es ist nur eine Schein-Geldbörse.
Sie können die getCoins-Funktion auf Ihrer Client-Instanz verwenden, um Details zu den Münzen in einer Wallet-Adresse abzurufen.
npm install typescript --save-dev npm install ts-node //runs TS without the need for transpiling
Die Funktion gibt nur Details zur Sui-Münze und die Details zurück. Die Ausgabe erfolgt in MIST, dem Sui-Gas-Token. 1 SUI entspricht 1 Milliarde MIST.
Die Funktion getAllCoins kann auf die gleiche Weise verwendet werden, um eine Liste aller Münzen in einem Wallet abzurufen.
npx tsc --init
Für dieses Beispiel habe ich etwas Sui gegen $FUD auf Hop Aggregator eingetauscht, und hier ist die Ausgabe nach dem Ausführen des Programms.
Das Interessante ist schließlich, dass Sie lernen, Transaktionen auf der Blockchain zu senden.
Lassen Sie uns einige $FUD-Tokens an eine andere Wallet senden. Dies funktioniert für alle Münzen im Sui-Netzwerk.
{ "compilerOptions": { "target": "ES2020", "module": "CommonJS", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "types": ["node"], "resolveJsonModule": true }, "exclude": ["node_modules"], "scripts": { "build": "tsc", "start": "node dist/index.js" } }
Zuerst habe ich überprüft, ob sich in der Brieftasche etwas FUD befand, und habe es für die Überweisung aufgeteilt. Die tx.transferObjects übertragen den geteilten Coin an die angegebene Adresse.
Schließlich müssen Sie die Transaktion mit client.signAndExecuteTransaction signieren und können mit waitForTransaction auf die Transaktion warten, um zu bestätigen, dass die Transaktion durchgeführt wurde
Sie haben gelernt, mit der Sui-Blockchain mithilfe des offiziellen TypeScript SDK zu interagieren. Es gibt so viel, was Sie mit Ihrem neu erworbenen Wissen auf Sui aufbauen können, wie zum Beispiel das Erstellen von Wallets und Bots.
Sie können noch weiter gehen, indem Sie lernen, wie Sie mit Move-Verträgen auf Sui interagieren, um anspruchsvollere dApps zu erstellen
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Sui TypeScript SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!