为什么验证器节点应该始终是归档节点?不这样做的风险和缺点是什么?我知道至少有一个归档节点可能很有趣,但为什么要全部拥有呢?如果区块链数据被保留(extrinsics和block headers),则可以根据需要在任何时间点重现任何状态,对吧?那么为什么要在DB中保存每个块的状态呢?
当我试图在修剪模式--pruning 256中运行验证器时,出现了这个问题,并且我得到了这个错误:
Error: Input("Validators should run with state pruning disabled (i.e. archive). You can ignore this check with '--unsafe-pruning.'"
发布于 2020-11-11 01:33:12
验证器节点默认作为归档节点运行的原因部分是因为遗留的原因--我认为剪枝之前并不起作用(尽管这个问题现在已经解决了)。
使用已修剪的数据库的风险在于,恢复数据库快照可能有点棘手(因此,如果您的数据库损坏,您可能需要从头开始重新同步)。而且,如果修剪参数的块数太小,consensus可能无法正确运行(值为1000或10000就可以了)。
对于将其作为归档节点运行,明显的缺点是存储空间,但这也会使您自己的节点和其他节点的备份具有更好的兼容性。
https://stackoverflow.com/questions/64773067
复制相似问题