【问题标题】:Missing transaction history in solana-test-validatorsolana-test-validator 中缺少交易历史记录
【发布时间】:2022-01-04 05:18:06
【问题描述】:

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

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

我尝试创建自己的 hello 程序,但事务在历史记录中几分钟后就消失了。我也做了一个简单的 solana transfer,但还是一样。

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

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

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

【问题讨论】:

    标签: blockchain solana solana-cli


    【解决方案1】:

    这可能会令人困惑。 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]
    

    【讨论】:

    • 我明白了。如果账本很小,那为什么我的test-ledger 目录在增长(几天后可以达到 10gb)?
    • 在我分析test-ledger 中的文件夹后,我认为account 子目录是增长的那个。同时,我增加limit-ledger-size后,存储在rocksdb子目录下的账本也增加了。
    • 您已经完全理解了——分类帐包含账户和交易,因此账户可以继续增长,但交易会被删减。不过,我们可能希望在标志中更清楚地说明...
    猜你喜欢
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 2019-01-07
    • 2023-01-07
    • 2013-03-15
    • 1970-01-01
    • 2018-11-08
    • 2022-12-03
    相关资源
    最近更新 更多