solana-test-validator后台做了什么?

What does solana-test-validator do on the background?

当 运行 solana-test-validator 它开始一个新的过程,输出如下:

Ledger location: test-ledger
Log: test-ledger/validator.log
Identity: 4876NsAf6yH8c7uPXybETZPit142i2QhR7tfSoTPYjHf
Genesis Hash: CrqeHuGVmgHL54Sri7dEm2aCRLFopJrTHoQBYe6ciF7N
Version: 1.8.17
Shred Version: 28931
Gossip Address: 127.0.0.1:1024
TPU Address: 127.0.0.1:1027
JSON RPC URL: http://127.0.0.1:8899
⠄ 01:44:22 | Processed Slot: 48335 | Confirmed Slot: 48335 | Finalized Slot: 483

我明白了:

我还阅读了 Solana 集群、验证器、插槽、epochs 文档。 它说

Slot: The period of time for which each leader ingests transactions and produces a block.

有人可以解释当我们 运行 solana-test-validator 时会发生什么吗?特别是,它会产生 blocks/ledger 条目吗?从它不断显示的内容来看 ⠄ 01:44:22 | Processed Slot: 48335 | Confirmed Slot: 48335 | Finalized Slot: 483 它似乎在生产新的块?如果是这样,为什么我们需要这些分类帐条目?毕竟我的集群本地没有发生任何事情(没有事务,没有 sol 传输......)。

对于你的第一个问题,答案是肯定的。

关于你的第二个问题,test-validator是一个账本节点,因此,就像devnet/testnet/mainnet-beta,有时间记录(块)随着时间的推移,无论有没有做某事。

编辑:

当您第一次启动 运行 solana-test-validator 时,它将在您启动它的目录中创建一个名为 test-ledger 的默认分类帐。

如果您在同一位置再次启动测试验证器,它将打开现有的分类帐。随着时间的推移,分类帐可能会变得非常大。

如果您想从一个干净的账本开始,您可以:

  1. rm -rf test-ledger 或...
  2. solana-test-validator --reset