如何控制 javascript 中的 solana-test-validator 时钟?

How do I control the solana-test-validator clock in javascript?

我有依赖于 Clock 系统变量的程序逻辑。为了正确测试我的代码,我需要将集群“快进”到某个时间点之后。

found 这在 Rust 中是可能的,但我希望能够使用 javascript 来做到这一点,因为我已经有很多 js 测试代码 + 一个非常方便的 javascript 客户端与我的程序交互。

solana-test-validator 上有 ---warp-slot 选项,但这需要重新启动验证器,这不是很方便(我正在使用管理验证器的 Anchor)

不幸的是,在 JavaScript 中是不可能的,正如您所发现的。您目前唯一的选择是使用 --warp-slot 参数重新启动验证器,这在测试环境中不太实用。

旁注:对于此行为的 PR 将不胜感激!您需要公开一些端点以告诉验证器继续前进,类似于为 program-test 框架完成的逻辑:https://github.com/solana-labs/solana/blob/dd15193c69f5292ff566b84837516097bc0b8f57/program-test/src/lib.rs#L1101