Sui TypeScript SDK の使用方法

DDD
リリース: 2024-10-27 04:57:29
オリジナル
929 人が閲覧しました

Sui は現時点のチェーンであり、Sui でスマート コントラクトを作成するには Move が聖杯ですが、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"
  }
}
ログイン後にコピー
ログイン後にコピー

TypeScript ファイルを追加する src ディレクトリを作成します。

mkdir src
touch src/index.ts
ログイン後にコピー

最後に、このコマンドを使用して、Sui TypeScript SDK をインストールします。

npm i @mysten/sui.js
ログイン後にコピー

準備は完了です。 Sui ブロックチェーンと対話する TypeScript プログラムの作成を開始できます。

スイブロックチェーンへの接続

チェーンと対話するには、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 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 ウォレットの残高の読み取り

クライアント インスタンスで getCoins 関数を使用すると、ウォレット アドレス内のコインの詳細を取得できます。

npm install typescript --save-dev
npm install ts-node //runs TS without the need for transpiling
ログイン後にコピー
ログイン後にコピー

この関数は、Sui コイン単体の詳細と詳細を返します。出力は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 コントラクトを操作してより洗練された dApps を構築する方法を学ぶことで、これをさらに進めることができます

以上がSui TypeScript SDK の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート