本文へスキップ
このページは英語からの機械翻訳を使用しており、誤りや不明瞭な表現が含まれている可能性があります。最も正確な情報については、オリジナルの英語版をご覧ください。頻繁な更新のため、一部のコンテンツはオリジナルの英語になっている可能性があります。Crowdinでの取り組みに参加して、このページの翻訳改善にご協力ください。 (Crowdin translation page, Contributing guide)

6. 上級者向けトピック&FAQ

このセクションでは、高度な統合テクニック、ベストプラクティス、トラブルシューティングのヒント、KaiaのGas Abstraction(GA)機能に関するよくある質問について説明します。 これは、実装を最適化し、スムーズなユーザー・エクスペリエンスを確保したい開発者向けに設計されている。

6.1 ベストプラクティス

トピック推薦備考
**スリッページgetAmountIn()`は、トークンの揮発性が高くない限り、**0.5 % (50 bps)**で開始する。0.5%はカイアのリファレンスコードに示されている事実上のデフォルトです。
**許容範囲ERC-20の許容量をキャッシュし、**許容量>0のときにApproveTx`**をスキップする。KIP-247では、承認がすでに存在する場合、2-txバンドル(Lend + Swap)を許可している。
**バッチ投入kaia_sendRawTransactions`(配列ペイロード)を使用して、ApproveTx + SwapTxを一緒にプッシュし、プールの競合状態を防ぐ。単一tx呼び出し(eth_sendRawTransaction)は動作するが、2番目のtxが先にノードに到達すると、nonce/static-ruleチェックに失敗する。
**セキュリティa) KaiaのドキュメントにあるGaslessSwapRouter (GSR)のアドレスをハードコードする。
b) スワップを構築する前に、例えばtry/catchの中でawait router.dexAddress(token)を実行するか、getSupportedTokens()から返されるリストをチェックすることで、サポートを確認する。
フィッシング契約やサポートされていないトークンがGAフローを乗っ取るのを防ぎます。
KAIAを使用しない場合のガス試算例えば、eth_estimateGas(txObj, 'latest', { [from]:{balance: '0x…' }}).口座が本当に0KAIAの場合、「残高不足」エラーを回避。

6.2 トラブルシューティング

症状正当な理由推奨される修正
**未採掘のバンドルa) token ホワイトリストに載っていない
b) minAmountOut がきつすぎて、バンドル全体が戻される。
- 最初にサポートを確認してください:または** getSupportedTokens().includes(token) 署名の前に
- slippageBpsを増やすか、amountIn`をジャストインタイムで再クオートする。
INSUFFICIENT_OUTPUT_AMOUNT を戻す提示と実行の間に価格が変更されたため、GSRチェックamountReceived >= minAmountOutが失敗した。現在のプール準備金で getAmountIn() を再実行し、より高い minAmountOut またはより広いスリッページで SwapTx を再構築する。
ノードはTXを拒否する(「資金不足」)*。GaslessApproveTxのみが送信された。 バランスチェックがスキップされ、対になるSwapTxが欠落しているため、提案者はLendTx**をインジェク トすることはなく、トランザクションは持っていないKAIAを消費する。常に ApproveTx と SwapTx を同じバッチkaia_sendRawTransactions 経由で送信するか、approveRequired == false を確認して、2-tx バンドルで送信できるようにしてください。
バンドル内の不一致について外部dAppはGAバンドルが採掘される前に次のnonceを消費する通常のtxを送信した。署名の直前に getTransactionCount() をクエリする; nonce が移動した場合、両方の tx オブジェクトを再構築する。
klay_sendRawTransactions → "未定義のTXタイプ"`。あなたは、Ethereumタイプのみをサポートする**kaia_…**エンドポイントを通じて、Kaia固有のtxタイプ(例えば、0x30)をバッチ送信しようとしました。kaia_sendRawTransactions で GA バンドルを送信し、klay_sendRawTransaction` で 0x30 AppTx をブロードキャストする。

6.3 FAQ

GAはメインネットで利用できますか?

はい、GAは現在Kairos testnetmainnetの両方でライブです。

スワップに必要なトークンが足りない場合はどうなりますか?

SwapTxはオンチェーンで失敗するが、KIP-245のアトミックバンドルにより、バンドル全体が元に戻され、ブロックから除外される。 ユーザーは資金を失うことなく、オンチェーンの状態も変化しない。

どのトークンがどれだけガソリンと交換されたかを確認するにはどうすればよいですか?

swapForGas コールが成功するたびに、GaslessSwapRouter` から SwappedForGas イベントが発生する。
できる:

  1. KaiaScanでルーターアドレス(contract-addresses doc参照)を調べ、Eventsタブを開きます。
  2. イベントログに表示されている tokenamountInamountOutamountRepay フィールドをデコードする。

オンチェーンでデータが必要な場合は、インデクサまたはdAppバックエンドでSwappedForGasをリッスンする。

ノードはGAを無効にできますか?

個々のノードはGAを無効にすることができるが、デフォルトでは有効になっている。 あるノードがGAを無効にしている場合、トランザクションは最終的にGAをサポートする他のノードで処理される。

ガス抜きはブロックの速度を落とすのか?

そうだ。 KIP-245では、バンドルは250ミリ秒/ブロックの_実行タイムアウト_チェックから除外されるため、EVMは一度開始したバンドル全体の処理を終了することができる。 GA取引は、よく知られたERC20の承認とGSRのスワップ操作に限定されているため、妥当な時間だけ実行される。 したがって、GAバンドルがチェーンのブロックタイム予算を危険にさらすことはない。

どこでガス抜き取引を見ることができますか?

Kairos testnet explorerで見ることができます。 これらのブロックは、バンドル全体が直列に実行されていることを示している:

6.4 追加リソース

技術仕様:*。

デベロッパー・リソース:

コミュニティとサポート:*

**教育内容

ページを改善してください。