以太坊,使用哪种同步模式,快速还是完整?

Ethereum, which syncmode to use, fast or full?

geth计划运行,提供--rpc服务。

服务的作用:

目前我们正在使用 full 模式,但它有点慢,并且占用更多磁盘 space。


问题


(我在Ethereum网站上问了另一个关于以太坊的问题,如果你有兴趣也可以看看:https://ethereum.stackexchange.com/questions/78293/how-to-migrate-geths-data)

完全同步 下载区块链的所有区块并重播曾经发生的所有交易。在这样做的同时,它存储交易收据并不断更新状态数据库。

快速同步 不重放事务。 fast sync pull request 中的这句话描述得很好(您还可以在那里找到更多信息)。

Instead of processing the entire block-chain one link at a time, and replay all transactions that ever happened in history, fast syncing downloads the transaction receipts along the blocks, and pulls an entire recent state database.

请注意,它还会下载收据,以便查询历史数据。


  • 快速模式是否足以满足上述用途?

    快速同步仅用于初始获取区块链。快速同步过程结束后,您的节点就像一个完全同步的节点。由于快速同步节点还具有所有历史数据,因此适合您的用例。

  • 哪个更好?

    取决于。在全同步的情况下,你需要处理能力,而在另一种情况下,你需要带宽。

  • 如果我们从full模式切换到fast模式,geth是否需要重新下载所有的 多年的历史?或者,它会重用历史?

    出于安全原因,您无法切换已 运行 个节点的同步模式。