了解 getLatestBlockhash 的使用案例、代码示例、请求参数、响应结构和提示。
getLatestBlockhash
RPC 方法对于在 Solana 网络上准备和发送交易至关重要。它检索节点处理的最新 blockhash,以及该 blockhash 将保持有效的最后区块高度。有关如何有效使用 blockhashes 并确保您的交易成功的更多详细信息,请参阅我们的综合指南。
在 Solana 上的每笔交易都必须引用一个最近的 blockhash。此机制有助于防止某些类型的攻击,例如在分叉链上的交易重放。
版本说明: 此方法在 solana-core
v1.9 或更新版本中可用。对于运行 solana-core
v1.8 或更早版本的节点,请改用 getRecentBlockhash
方法。
lastValidBlockHeight
了解引用获取的 blockhash 的交易可以预期保持有效的时间。simulateTransaction
可以隐式执行此操作,但应用程序可能会获取一个 blockhash 以手动准备交易进行模拟。commitment
(字符串,可选):指定查询的承诺级别。如果省略,则使用节点的默认承诺。对于交易,通常使用 confirmed
或 finalized
以确保 blockhash 来自链的相对稳定部分。minContextSlot
(整数,可选):请求可以评估的最小槽位。这确保查询针对已处理到至少此槽位的分类账状态进行。result
字段将是一个 RpcResponse
对象。此对象中的 value
字段包含:
blockhash
(字符串): 一个 base-58 编码的字符串,表示最新的区块哈希。lastValidBlockHeight
(u64): blockhash
将过期的区块高度。引用此 blockhash
的交易在网络达到此 lastValidBlockHeight
之前有效。context
对象,其中包含检索信息时的 slot
。
confirmed
承诺获取最新的区块哈希。
lastValidBlockHeight
通过之前由网络确认。如果自上次获取以来已经过了相当长的时间,请始终获取新的区块哈希。finalized
承诺提供了最强的保证,即区块哈希来自主链分叉,但可能稍旧。confirmed
提供了良好的平衡。了解更多关于承诺级别的详细信息。lastValidBlockHeight
通过而过期,您必须使用新的、更近期的区块哈希重新签名并重新提交。getLatestBlockhash
的步骤,这是通过交易与Solana网络交互的基石。