RPC、Gas、滑点与高级参数
这四类参数直接影响报价速度、交易是否能广播以及最终成交范围。没有明确原因时,应先使用默认值。
RPC 设置
RPC 负责读取链上状态并广播交易。优质 RPC 应满足:
- Chain ID 返回正确;
eth_call、eth_getBalance、eth_getTransactionReceipt可用;- 对批量请求没有过低限速;
- 延迟稳定,不频繁超时;
- 浏览器访问支持 HTTPS 与 CORS。
什么时候切换 RPC
- 多次出现超时或网络错误;
- 同一路径有时能报价、有时完全失败;
- 余额与区块浏览器明显不同步;
- 广播成功但长时间查不到交易;
- 并发提高后大量请求被限流。
切换 RPC 不能解决代币关闭交易、无流动性或余额不足。
Gas Price
Gas Price 决定每单位 Gas 的报价。页面提供低、常用和加速预设,也允许自定义。
- 过低:交易可能长时间 pending;
- 过高:不会提高合约执行成功率,只会增加费用;
- 批量交易:先查询当前网络 Gas,再决定是否加速。
Gas Limit
Gas Limit 是允许单笔交易最多使用的 Gas。默认优先估算并留出余量。
- 过低会 Out of Gas;
- 设得很高不等于一定全部花掉,实际按使用量收费;
- 合约主动回滚时,提高 Gas Limit 通常无效。
滑点
滑点决定 amountOutMin 的容忍范围。例:报价预计得到 100 个目标币,滑点 1%,最低接受约 99 个。
| 情况 | 建议 |
|---|---|
| 主流低税币、小额交易 | 0.5% 至 1% |
| 波动较大或池较浅 | 1% 至 3%,同时降低单笔数量 |
| 明确存在买卖税 | 在确认税率后设置,先做小额测试 |
| 关闭交易或黑名单 | 调高滑点无效 |
价格冲击
价格冲击来自你的单笔数量相对池深度过大。与滑点不同,价格冲击不是网络延迟造成的。应优先降低单笔数量、增加间隔,而不是无限提高滑点。
过期时间
过期时间限制交易最晚可以被矿工/验证者执行的时间。它不等于定时开始时间,也不代表交易一定会在该时间内确认。
并发数量
并发提高速度,也会同时增加:
- RPC 请求压力;
- 同一池在短时间内的报价变化;
- nonce 与广播管理复杂度;
- 失败重试时的瞬时请求量。
新 RPC 或新代币建议从顺序执行开始,再逐步增加并发。
