如何将Gulden区块链数据从一个钱包复制到另一个钱包



我应该从块目录中复制哪些文件才能将所有可用的区块链数据复制到另一个钱包。

我是否应该包括:

  • blk*.dat文件?
  • 修订版*.dat文件?
  • 索引目录及其内容?

此外,除了最新的.dat文件之外,符号链接所有文件而不是复制以节省存储空间(假设较早的.dat文件永远不会更改(是否安全。

复制/链接后,我应该使用其他命令行参数(如 -rescan(运行 GuldenD?

我正在 https://github.com/Gulden/gulden-official/blob/master/doc/files.md 作为 Gulden 数据目录结构的参考。 相关部分如下:

块/BLK000??.dat:块数据(自定义,每个文件 128 MiB(;

块/修订版000??..dat;阻止撤消数据(自定义(;

块/索引/*; 块索引(LevelDB(;

chainstate/*; 区块链状态数据库(LevelDB(;

以上四个基本上包含区块链,因此需要:

  • 块/blk*.dat - 实际块写在这里
  • blocks/index/* - 上述文件的快速索引存储在这里,从技术上讲,没有这个可以找到块,但它成为一个缓慢的过程
  • chainstate/* - UTXO(所有未花费交易的列表(存储在这里,这是验证区块所必需的 - 如果丢失,可以重新生成,但这是一个昂贵的过程。
  • blocks/rev*.dat - 这包含最近块的链状态"撤消"信息,以便在链重组时可以轻松回滚对链状态的更改。

在通常情况下,旧的块/*.dat 文件不会被触及,但可能存在边缘情况(修剪(,未来的开发可能希望接触它们以释放空间等 - 所以我不知道这是否是一个安全的假设。

如果目的是在一台服务器上托管多个钱包时节省空间,则 dedup 文件系统可能是在不依赖符号链接的情况下更安全的方法。

如果您正在设置一个新的 GuldenD,那么复制到位后不需要重新扫描或其他选项,如果它是一个具有过去可能收到资金的现有地址的 GuldenD,那么您需要运行重新扫描。

最新更新