PTB 実習
Hands-on Guide to Programmable Transaction Blocks
💡 この章の目的
- PTB(Programmable Transaction Block) の構築と実行を学ぶ。
- 複数の Move 関数を 1 つのトランザクションにまとめる方法を理解する。
- ptb.wal.app を使って PTB を視覚的に確認・実行する。
1. 準備
- 前章でデプロイした Managed Token パッケージを確認。
- Owner Objects Explorer で
TreasuryCap<...::MANAGED>が存在することを確認。
- Sui Extension または CLI が Testnet に接続されていることを確認。
2. Sui Extension で実行
- Package Explorer を開く。
mint関数を選択し、引数(treasury_cap,amount,recipient)を入力。- Execute をクリック → 新しい
Coin<MANAGED>が生成される。
💡 これは VS Code から Move 関数を直接呼び出す最もシンプルな方法です。
3. PTB Builder で実行
PTB Builder を開く。
ノードを追加:
moveCall → managed::mint。引数を入力:
object(treasuryCapId)pure.u64(amount)pure.address(recipient)
Run をクリックして実行し、Transaction Digest を確認。

⚡️ PTB Builder は実行構成を TypeScript コードに変換 できます。 Export または Copy 機能を使用して、プロジェクトにそのまま再利用できます。
4. Web 版 PTB Builder の利用
ブラウザから直接使える PTB Builder も提供されています。 👉 https://ptb.wal.app
主な機能
- ドラッグ&ドロップで PTB を構築・実行
tx digestを入力して既存のトランザクションを視覚化- PTB ファイル (.json) としてエクスポート
- TypeScript コード に変換

5. TypeScript への変換例
ts
import { Transaction } from "@mysten/sui/transactions";
const tx = new Transaction();
const treasuryCap = tx.object("0x123...");
const amount = tx.pure.u64(100);
const recipient = tx.pure.address("0xabc...");
tx.moveCall({
target: "0xPACKAGE::managed::mint",
arguments: [treasuryCap, amount, recipient],
});✅ このコードは Sui SDK を使って直接実行できます。
💡 これで PTB の構築・実行・変換の方法を理解しました。 次は、複数のコマンドを含む単一トランザクション を作成して、より高度なユースケースを学びましょう。