节点类型
运行BOT Chain
存档节点
快速节点
节点维护
1. 二进制
建议所有客户端升级到最新版本。最新版本应该更稳定并且具有更好的性能。
2. 存储
2.1 修剪状态
根据测试,当存储大小达到较高容量时(之前是1.5TB,这是一个实验值,最新的数字需要更新),全节点的性能会下降。我们建议全节点通过修剪存储来始终保持轻存储。
2.2 如何修剪
-
停止 BOT Chain 节点。
-
运行
nohup geth snapshot prune-state --datadir {the data dir of your BOT node} &。需要3-5小时才能完成。 -
完成后启动节点。
维护者应该始终有一些备份节点,以防其中一个节点被修剪。硬件也很重要,确保 SSD 满足:500 GB 可用磁盘空间、固态硬盘 (SSD)、gp3、8k IOPS、500 MB/S 吞吐量、读取延迟 <1ms(如果节点以快照同步启动,则需要 NVMe SSD)。
2.3 实时修剪古代数据
古代数据是已经被认为不可变的块数据。这是由当前设置为 90000 的阈值决定的。这意味着超过 90000 的块被视为古老数据。我们向不关心古代数据的用户推荐 --prunceancient 标志。这也建议想要节省磁盘空间的用户,因为这只会保留最新 90000 个块的数据。请注意,一旦打开此标志,旧数据将不会再次恢复,并且如果启动命令中没有此标志,您将无法返回运行节点。
2.4 如何使用标志
./geth --tries-verify-mode none --config /server/config.toml --datadir /server/node --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --pruneancient=true --syncmode=full
2.5 修剪块工具
v1.1.8 中引入的新离线功能,用于删除不需要的古老区块数据。它将丢弃古代数据库中的块、收据和标头以节省空间。
如何修剪
-
停止 BOT Chain 节点。
-
运行
./geth snapshot prune-block --datadir /server/node --datadir.ancient ./chaindata/ancient --block-amount-reserved 1024
block-amount-reserved是修剪后要保留的旧数据块的数量。
3. 光存储
当节点崩溃或被强制杀死时,节点将从几分钟或几小时前的块同步。这是因为内存中的状态并没有实时持久化到数据库中,节点启动后需要从上一个检查点重播块。重播时间取决于config.toml中的配置TrieTimeout。如果您可以容忍较长的重放时间,我们建议您提高它,以便节点可以保持轻存储。