メインコンテンツまでスキップ

SuiClient ― アプリの「郵便局員」

  • 対象読者: Suiブロックチェーンを初めて扱う開発者。
  • 前提知識: ブロックチェーンの基礎概念(ウォレット、トランザクション)についての理解。
  • 目標: アプリアーキテクチャにおけるSuiClientの役割を理解する。

はじめに

Suiエコシステムにおいて、アプリはブロックチェーンネットワークと直接通信することはできません。通信プロトコルの処理、データの取得、トランザクションの送信を行うための仲介役が必要です。

**SuiClient**は、この目的のためにSui TypeScript SDKで提供される主要なインターフェースです。

アーキテクチャ:「郵便局」の比喩

Suiネットワークを、巨大な世界規模の郵便システムだと考えてみてください。

  • あなたのアプリは、窓口に並ぶ顧客です。
  • SuiClient郵便局の窓口係です。

システムとのやり取りは窓口係に依存します。自分で郵便物を仕分けたり、配達トラックを運転したりすることはできず、窓口係を通じてリクエストを行う必要があります。

SuiClientアーキテクチャのスクリーンショット

ネットワークへの接続

窓口係が特定の支店で働くのと同様に、SuiClientインスタンスはRPC(Remote Procedure Call)エンドポイントを介して特定のネットワーク環境に接続します。

クライアントを初期化する際、対象とする環境を定義します:

ネットワーク説明ユースケース
Mainnet本番稼働ネットワーク。実在する資産、実在する価値。本番アプリ。
Testnet公開テストネットワーク。Mainnetのバージョン管理を反映。ステージングおよび統合テスト。
Devnet実験用ネットワーク。頻繁にデータが消去される。迅速なプロトタイピングおよびローカル開発。

主要機能

SuiClientは、2つの異なるカテゴリの操作を処理します。この違いを理解することは、アプリ設計において極めて重要です。

1. 読み取り操作(クエリ)

これらは、台帳上の既存データを検索するためのリクエストです。

  • コスト: 無料(ガス代不要)。
  • セキュリティ: ウォレットの署名は不要。
  • 仕組み: クライアントはノードのローカルデータベースにクエリを実行し、結果を即座に返します。
  • 例:
    • getObject(): NFTのメタデータを取得する。
    • getBalance(): ウォレットの残高を確認する。

2. 書き込み操作(トランザクション)

これらは、台帳の状態を変更するためのリクエストです。

  • コスト: ガス代としてSUIトークンが必要です。
  • セキュリティ: ユーザーのウォレットからの暗号署名が必要です。
  • 仕組み: クライアントは署名済みのトランザクションをネットワークのバリデーターに送信し、処理を依頼します。
  • 例:
    • コインの送金。
    • NFTの鋳造。
    • オンチェーンのゲームデータの変更。

次のステップ

アーキテクチャを理解したところで、次は読み取り操作を実行します。次のガイドでは、Sui Devnetからライブデータをクエリするためのスクリプトを紹介します。