solana-test-validator 中缺少交易历史记录

Missing transaction history in solana-test-validator

我已经在 Solana hello world 示例上成功部署了 BPF 和 运行 客户端:https://github.com/solana-labs/example-helloworld。程序中的问候语计数器也按预期工作。

然后,我尝试使用 Solana Explorer 指向本地主机来检查交易。我可以在程序的交易历史记录中看到我进行的交易,但几分钟后(1.5-3.5 分钟),如果我刷新页面,这些交易就会丢失。

我尝试创建自己的 hello 程序,但交易记录在几分钟后就消失了。我也做了简单的solana转账,还是一样。

我在 google 上搜索过这个问题,但找不到任何有用的信息。我知道状态不是问题(因为 solana 余额和 hello world 程序中包含的数据是正确的),所以我怀疑问题来自 Solana Explorer,但后来我尝试了 solana transaction-history 在我的 cli 上。和以前一样,交易出现又消失。

所以现在,我怀疑 solana-test-validator 从账本中删除了交易历史记录。但是,我发现 test-ledger 正在增长(我上次检查是 10gb)。

我仍然不确定交易历史记录为何丢失以及如何修复它,因此我可以检查我和程序进行的交易。这将使我的链上程序开发更加容易。谢谢!

这可能会造成混淆。 solana-test-validator 的默认分类帐大小非常小,因此您很快就会丢失交易。您可以使用 --limit-ledger-size 参数使其变大。来自 -h 的更多信息:

$ solana-test-validator -h
solana-test-validator 1.9.2 (src:f58b87be; feat:4100269022)
Test Validator

USAGE:
    solana-test-validator [FLAGS] [OPTIONS] --ledger <DIR>

...
...

        --limit-ledger-size <SHRED_COUNT>                    Keep this amount of shreds in root slots. [default: 10000]