TON ConnectでTONウォレットからSTON.fiのSwapを送る方法

dAppに秘密鍵を渡すことは決してありません。STON.fiのSwapをシミュレーションし、SDKに正確なコントラクトメッセージを作らせます。その後、それをTON Connectに渡して、接続済みウォレットに署名とブロードキャストを行わせます。

🔥 このフローの核となる考え方

- STON.fi SDKが内部メッセージ(to、value、body)を作成します。
- TON Connectは認可の要求だけを行います。
- ウォレットが署名とネットワークへのブロードキャストを担当し続けます。

🚀 手順ごとの送信フロー

1. TonConnectUIProviderとボタンでウォレットを接続します。
2. simulateSwapを実行して、ルーター情報とユニットを取得します。
3. シミュレーションのメタデータからdexFactoryを使ってルーターを開きます。
4. 対応するgetSwap*TxParamsメソッドを呼び出します。
5. 結果をそのままtonConnectUI.sendTransactionに渡します。
6. 外部メッセージが送信されたことを確認し、その後オンチェーンで検証します。

⚡ つまずきやすい詳細

- validUntilはミリ秒ではなく、Unix秒である必要があります。
- networkはメインネットの場合「-239」に設定します。
- 送信前には必ず最新のシミュレーションから作り直します。

💬 なぜこのパターンがうまくいくのか

分担が明確です。STON.fiはコントラクト呼び出しを知っており、TON Connectはウォレットのリクエストを扱います。あなたのアプリは調整するだけです。これにより、同じウォレットのフローがTON→ジェットトン、ジェットトン→TON、ジェットトン→ジェットトンのSwapでもそのまま使えます。

まずシミュレーションを送信ハンドラに組み込みますか?👇

試したときにTON Connectのリクエストのどの部分が分かりにくかったと感じましたか?

投資助言ではありません。ご自身で調査してください!🚀

$GRAM @STONfi DEX