PTB BuilderでTSコードを生成
このレッスンでは、PTB Builderで作成したPTBのTypeScriptコードを確認し、PTB定義を .ptb ファイルとしてエクスポートする方法を学びます。とてもシンプルです。ボタンをクリックするだけです。
なぜエクスポートが便利?
PTB Builderはビジュアルエディタで直感的にPTBを組み立てられる便利なツールです。しかし、実際のdApp開発では、コードでトランザクションを構築する必要があります。
エクスポート機能を使うと:
- 複雑なトランザクションもGUIで直感的に構成し、コードとして出力できる
- 実装のスタート地点として活用できる
- 学習にも最適——コードの書き方がわからなくても、GUIで組み立ててエクスポートすれば参考になる
前提条件
このレッスンを始める前に、以下が完了していることを確認してください:
- L10: PTBで複数コマンドをまとめて実行 を完了している(推奨)
- VSCodeに Sui Extension がインストールされている
L10を完了していなくても大丈夫です。このレッスンでは、サンプルのPTBを使ってエクスポート機能を体験します。
PTB Builderでエクスポートを試そう
以下のビジュアルエディタには、前回のレッスン(L10)で組み立てた「2つの送金を1つのトランザクションにまとめるPTB」があらかじめ読み込まれています。
左上のガイドに従って、エクスポートの手順を体験してみましょう。
ダウンロードした.ptbファイルをVSCodeで開こう
エクスポートした .ptb ファイルはTypeScriptコードではなく、PTBのグラフ定義がJSON形式で保存されたファイルです。
VSCodeに Sui Extension がインストールされている状態で .ptb ファイルを開くと、Web版と同じPTB BuilderのUIが表示されます。VSCode上でもts-sdk previewウインドウからTypeScriptコードを確認できます。
つまり、.ptb ファイルを作成すれば、VSCode内でPTBを作成・編集することもできます。

Sui Extensionのインストール方法は VSCodeにSui Extensionを導入する で紹介しています。
TSコードを確認しよう
ts-sdk previewウインドウに表示されるTypeScriptコードは、以下のような構造になっています:
// Auto-generated from PTB Program (chain: sui:devnet)
import { Transaction } from '@mysten/sui/transactions';
const myAddress = '0xe8d3...'; // 接続中のウォレットアドレス
const tx = new Transaction();
tx.setSenderIfNotSet(myAddress);
// tx.setGasBudgetIfNotSet(500_000_000);
const sender_0 = myAddress;
const gas_0 = tx.gas;
const var_id_0 = 1000000000;
const var_id_1 = 2000000000;
const [out_1_0] = tx.splitCoins(gas_0, [var_id_0]);
tx.transferObjects([out_1_0], sender_0);
const [out_2_0] = tx.splitCoins(gas_0, [var_id_1]);
tx.transferObjects([out_2_0], sender_0);
export { tx };
Transactionクラスをインポートして、新しいトランザクションを作成myAddressには接続中のウォレットアドレスが入るgas_0 = tx.gasでガスコインを参照し、splitCoinsで指定額を分割transferObjectsで分割したコインをsender_0(自分のアドレス)に転送splitCoins→transferObjects→splitCoins→transferObjectsの4つのコマンドが1つのPTBにまとまっているexport { tx }でトランザクションオブジェクトをエクスポート
成功の確認
以下ができれば、このレッスンは完了です:
- ts-sdk previewウインドウでTypeScriptコードを確認できた
- 「Export」ボタンで
.ptbファイルをダウンロードできた - VSCode + Sui Extensionで
.ptbファイルをPTB Builderとして開けた
このレッスンでやったこと
- PTB BuilderのExport機能の目的を理解した
- ts-sdk previewウインドウでTSコードを確認した
- Exportボタンをクリックして、.ptbファイルをダウンロードした
- VSCode + Sui Extensionで
.ptbファイルを開いた
次のステップ
エクスポートしたコードは、上級コースで実際に使います。GUIで組み立てた内容がコードでどう表現されるか、この段階で確認しておくと、SDKを学ぶときの理解が深まります。