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
執行命令時,您應該會得到與此類似的輸出。
創建 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。
getAllCoins函數可以以相同的方式使用來取得錢包中所有硬幣的清單。
npx tsc --init
對於這個例子,我在 Hop Aggregator 上用一些 Sui 換取 $FUD,這是運行程式後的輸出。
發送硬幣或物品
最後,有趣的部分是您將學習在區塊鏈上發送交易。
讓我們將一些 $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中文網其他相關文章!

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境

Atom編輯器mac版下載
最受歡迎的的開源編輯器

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器