常见用例
- 费用估算: 确定特定消息的可能交易费用(以 lamports 为单位)。
- 成本优化: 分析不同交易结构或不同时间的费用。
- 用户界面显示: 在用户签署并发送交易之前,向用户显示估计的交易成本。
请求参数
- **(字符串,必需):**交易消息,经过 base64 编码。您可以通过编译交易获得。
- **(对象,可选):**包含以下字段的配置对象:
- **(字符串,可选):**指定要使用的确认级别。默认为特定值。
- **(数字,可选):**请求能被评估的最小槽位。
响应结构
JSON-RPC 响应的字段是具有以下结构的对象:- (对象):
- **(u64):**评估费用的槽位。
- **(u64 | null):**以 lamports 为单位的估算费用。如果无法确定费用(例如,如果消息中使用的区块哈希过旧或无效),此字段可能为 null。
示例
1. 估算简单转账消息的费用
此示例演示如何构建一个简单的转账,编译其消息,然后获取估计费用。开发者提示
- **消息构建:**使用此方法的关键是正确构建和序列化交易消息。这涉及设置付款人、指令和最近的区块哈希。
- **最近区块哈希:**消息必须用最近的区块哈希构建。如果区块哈希过旧,响应中的费用可能为 null。
- **费用与优先费用:**此方法返回基础网络费用。不包括您可能添加的额外优先费用,以在网络拥堵时增加快速处理的可能性。使用其他方法估算优先费用。
- **Lamports:**费用以 lamports 返回(1 SOL = 1,000,000,000 lamports)。
- **空值:**费用为空值可能表示消息存在问题(例如,区块哈希无效,消息格式错误)或节点无法在给定的确认级别或槽位计算费用。
getFeeForMessage RPC 方法在 Solana 网络上估算交易费用的必要步骤。