本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)
5. API & SDK 參考資料
5.1. SDK
GA 功能封裝在 -ext
SDK 中,擴充了 ethers.js 和 web3.js 的功能。 如需詳細的 API 參考資料,請參閱套件庫。
Kaia Ethers-ext SDK
- Repo:GitHub
- 程式碼範例:gasless.js
- Code Example with Tutorial
- 關鍵方法:
gasless.getGaslessSwapRouter
、gasless.getAmountRepay
、gasless.getMinAmountOut
、gasless.getAmountIn
、gasless.getApproveTx
、gasless.getSwapTx
。
Kaia Web3js-ext SDK
- Repo:GitHub
- 程式碼範例:gasless.js
- Code Example with Tutorial
- 關鍵方法:
web3.gasless.getGaslessSwapRouter
,web3.gasless.getAmountRepay
,web3.gasless.getMinAmountOut
,web3.gasless.getAmountIn
,web3.gasless.getApproveTx
,web3.gasless.getSwapTx
.
5.2. JSON-RPC API
kaia_sendRawTransactions
接受一個陣列有簽章、RLP 編碼的原始交易,其 type byte 是 Ethereum 系列之一 (0x00 Legacy、0x01 EIP-2930、0x02 EIP-1559、0x04 Blob)。 將它用於 GA 對 ApproveTx + SwapTx,這是一般的 EVM 類型。
Kaia 特有的類型,例如 0x30(Smart-Contract Execution)仍必須使用舊的單次傳送方法 klay_sendRawTransaction
來傳送。
典型流量:
- 建立並簽署
ApproveTx
+SwapTx
→ 使用 kaia_sendRawTransactions 傳送 - 建立並簽署使用者的 AppTx → 根據交易類型,使用 eth_sendRawTransaction 或 klay_sendRawTransaction 傳送
由於交易是以 nonce 排序,因此 AppTx 會在 bundle 之後執行, 即使它是透過另一個端點傳送。
如果您只有一個交易要傳送(即 SwapTx),您總是可以回到 eth_sendRawTransaction
。