- 某个钱包 authority 拥有的 LUT。
- 包含某个账户或代币 mint 的 LUT。
- 包含一组账户中全部账户的 LUT。
- 尽力选出的一组 LUT,用于缩小交易体积。
每个 Lookup Table RPC 方法每次调用消耗 1 积分。
何时使用这些方法
在构建版本化交易之前使用这些方法,或用它们查看某个账户出现在哪些现有的表中。RPC 端点
所有示例都通过 HTTP 使用 JSON-RPC 2.0:按 authority 查找 LUT
用getLookupTablesByAuthority 查询某个钱包 authority 控制的表。
deactivationSlot 为 18446744073709551615 表示 LUT 处于激活状态。
查找包含某个账户的 LUT
已知交易中会用到某个账户,想找到包含它的 LUT 时,使用getLookupTablesByAccount。
查找包含某个 mint 的 LUT
getLookupTablesByMint 的查询方式与 getLookupTablesByAccount 相同,只是参数名为 mint。
为完整账户集查找 LUT
getLookupTablesByAccounts 有两种模式:交集模式和最佳集合模式。
交集模式
交集模式返回包含你提供的每一个账户的 LUT。需要一张表覆盖全部账户时使用。最佳集合模式
最佳集合模式选择若干张表来覆盖传入的账户,以减小交易消息体积。 设置bestSet: true,并传入交易需要的完整账户列表:
最佳集合调优
先用默认值。测量返回的覆盖率、预估节省量和请求耗时后再调整。
示例:构建交易前选择 LUT
典型流程如下:- 收集交易会引用的账户。
- 调用
getLookupTablesByAccounts并设置bestSet: true。 - 把返回的 LUT 附加到交易构建器。
uncoveredAccounts仍作为普通账户键。
实用建议
bestSet: true用于优化交易体积,不适合做穷举式发现。- 只信任或只关心某个 authority 控制的 LUT 时,使用
owner。 - 构建面向代币的体验且不需要全部已存地址时,在 authority 查询中使用
mintsOnly。 estimatedBytesSaved只用于规划参考,最终交易仍要模拟。- authority、账户和 mint 搜索都要保留分页逻辑。热门账户可能出现在很多 LUT 中。
getLookupTablesByAccounts
查找覆盖多个账户的 LUT,或获取最合适的 LUT 集合。
积分与限流
查看 RPC 调用的积分消耗和套餐限制。