首頁  >  文章  >  web前端  >  如何使用 Sui TypeScript SDK

如何使用 Sui TypeScript SDK

DDD
DDD原創
2024-10-27 04:57:29819瀏覽

Sui 是當下的鏈,儘管 Move 是在 Sui 上編寫智能合約的聖杯,但 TypeScript 支援也很重要。您可以透過 TypeScript 與 Sui 以及生態​​系統中的大多數 DeFi 應用程式進行互動和使用。

在本教程中,我將教您如何透過 TypeScript 與 Sui 網路互動。您將學習如何讀取區塊鏈的狀態,如何從 TypeScript 程式將交易寫入鏈。

Sui 和 TypeScript 入門

唯一的先決條件是您需要基本的 JS/TS 知識才能順利執行本教學。我將引導您完成其他所有事情。

首先,在終端機中建立一個新的 TypeScript 專案並初始化一個新的 Node.js 專案。

mkdir SuiTS
cd SuiTS
npm init -y

如果您還沒有安裝 TypeScript 作為開發依賴項。

npm install typescript --save-dev
npm install ts-node //runs TS without the need for transpiling

現在,您可以初始化一個新的 TypeScript 專案。此命令將建立一個 tsconfig.json 文件,其中包含您可以為專案自訂的預設選項。

npx tsc --init

開啟 tsconfig.json 並貼上這些配置。

{
  "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"
  }
}

建立一個 src 目錄,您將在其中新增 TypeScript 檔案。

mkdir src
touch src/index.ts

最後,使用此指令安裝 Sui TypeScript SDK。

npm i @mysten/sui.js

一切都準備好了。您可以開始編寫與 Sui 區塊鏈互動的 TypeScript 程式。

連接到 Sui 區塊鏈

您必須連接到 Sui 區塊鏈才能與該鏈互動。

首先,從 SDK 用戶端模組匯入 getFullnodeUrl 和 SuiClient。

import { getFullnodeUrl, SuiClient } from '@mysten/sui/client';

現在,根據您想要的連接,您可以使用 getFullnodeUrl 檢索 Sui 測試網、主網、本地網或開發網的完整節點 URL;然後,使用 SuiClient 連接到客戶端實例。

import { getFullnodeUrl, SuiClient } from '@mysten/sui/client';

const rpcUrl = getFullnodeUrl('mainnet');

const client = new SuiClient({ url: rpcUrl });

要測試您的連接,您可以使用 getLatestSuiSystemState 來檢索網路的最新狀態。

// 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();

現在,將 TypeScript 程式碼轉換為 JavaScript 並使用以下命令運行它:

ts-node index.ts

執行命令時,您應該會得到與此類似的輸出。

How to Use the Sui TypeScript SDK

創建 Sui 錢包

創建錢包是另一種流行的操作,如果您在 Sui Network 上構建,它可能會很方便。

以下是如何產生 Sui 錢包金鑰對並從金鑰對中檢索私鑰和公鑰。

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

Ed25519Keypair 函數建立一個新的金鑰對。 getPublicKey 和 getPrivateKey 方法分別允許您存取公鑰和私鑰。

這是我使用程式產生的私鑰和公鑰的字串輸出:

mkdir SuiTS
cd SuiTS
npm init -y

我將用 0.25 Sui 為這個錢包提供下一組操作的資金。請隨時驗證並掃描錢包。請勿發送任何資金;這只是一個虛擬錢包。

讀取 Sui 錢包餘額

您可以在客戶端實例上使用 getCoins 函數來檢索錢包位址中硬幣的詳細資訊。

npm install typescript --save-dev
npm install ts-node //runs TS without the need for transpiling

函數傳回隋幣單獨的詳細資料和詳細資料。輸出為 MIST,即 Sui 天然氣代幣。 1 SUI 等於 10 億 MIST。

How to Use the Sui TypeScript SDK

getAllCoins函數可以以相同的方式使用來取得錢包中所有硬幣的清單。

npx tsc --init

對於這個例子,我在 Hop Aggregator 上用一些 Sui 換取 $FUD,這是運行程式後的輸出。

How to Use the Sui TypeScript SDK

發送硬幣或物品

最後,有趣的部分是您將學習在區塊鏈上發送交易。

讓我們將一些 $FUD 代幣送到另一個錢包。這適用於 Sui 網路上的任何代幣。

{
  "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"
  }
}

首先,我檢查錢包中是否有一些 $FUD,並將其拆分以進行轉帳。 tx.transferObjects 將分割幣轉移到指定位址。

最後需要使用client.signAndExecuteTransaction對交易進行簽名,並且可以使用waitForTransaction等待交易以確認交易已通過

結論

您已經學會了使用官方 TypeScript SDK 與 Sui 區塊鏈進行互動。您可以利用新獲得的知識在 Sui 上進行許多構建,例如構建錢包和機器人。

您可以透過學習如何與 Sui 上的 Move 合約互動來進一步建立更複雜的 dApp

以上是如何使用 Sui TypeScript SDK的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn