本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 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。