이 페이지는 영문에서 기계 번역되었으므로 오역이나 어색한 표현이 있을 수 있습니다. 따라서 정확한 정보는 영어 원문을 참조하시기 바랍니다. 또한 잦은 업데이트로 인해 일부 콘텐츠는 영문이 그대로 남아있을 수 있습니다. Crowdin에서 이 페이지의 번역을 개선하는 데 동참하여 도움을 주세요. (Crowdin translation page, Contributing guide)
6. 고급 주제 및 FAQ
이 섹션에서는 가스 추상화(GA) 통합을 최적화하고 문제를 해결하기 위한 고급 주제와 FAQ를 다룹니다. GA의 복잡한 측면을 이해하고, 모범 사례를 적용하며, 일반적인 문제를 해결하는 데 도움이 되는 정보를 제공합니다.
6.1 모범 사례
주제 | 권장사항 | 비고 |
---|---|---|
슬리피지 | 토큰의 변동성이 매우 크지 않다면 getAmountIn() 에 **0.5 % (50 bps)**로 시작하세요. | SDK는 값을 하드코딩하지 않으며 0.5%는 Kaia 참조 코드에서 보여준 사실상의 기본값입니다. |
허용량 | ERC-20 허용량을 캐시하고 allowance > 0 일 때 ApproveTx 를 건너뛰어 추가 서명과 가스를 절약하세요. | KIP-247은 승인이 이미 존재할 때 2-tx 번들(Lend + Swap)을 허용하므로 허용량 재사용이 완전히 안전합니다. |
배치 제출 | kaia_sendRawTransactions (배열 페이로드)를 사용하여 ApproveTx + SwapTx를 함께 푸시함으로써 풀 경쟁 상태를 방지하세요. | 단일 tx 호출(eth_sendRawTransaction )도 작동하지만, 두 번째 tx가 먼저 노드에 도달하면 nonce/정적 규칙 검사에서 실패합니다. |
보안 | a) Kaia 문서에서 정식 GaslessSwapRouter(GSR) 주소를 하드코딩하세요. b) 스왑을 구성하기 전에 지원 여부를 확인하세요. 예: try/catch 내에서 await router.dexAddress(token) 또는 getSupportedTokens() 에서 반환된 목록 확인. | 피싱 컨트랙트나 지원되지 않는 토큰이 GA 플로우를 하이재킹하는 것을 방지합니다. |
KAIA 없이 가스 예상하기 | state override를 사용하여 eth_estimateGas 로 호출에서 송신자에게 임시 잔액을 부여하세요. 예: eth_estimateGas(txObj, 'latest', { [from]: { balance: '0x…' } }) . | 실제로 계정에 KAIA가 전혀 없을 때 "insufficient balance" 오류를 우회합니다. |