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

时间:2017-07-08 10:49:52

标签: blockchain

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

我应该包括:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

  

blocks / blk000 ??。dat:块数据(自定义,每个文件128 MiB);

     

块/ rev000 ?? DAT。阻止撤消数据(自定义);

     

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

     

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

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

  • blocks / blk * .dat - 实际的块写在这里
  • blocks / index / * - 这里存储了对上述文件的快速索引,从技术上讲,可以在没有这个的情况下找到这些块,但这会成为一个缓慢的过程。
  • chainstate / * - UTXO(所有未使用的事务的列表)存储在此处,这是验证块所必需的 - 如果丢失则可以重新生成,但这是一个昂贵的过程。
  • blocks / rev * .dat - 这包含最新块的链状态“撤消”信息,这样如果重新组织链,则可以轻松回滚对链状态的更改。

在通常情况下,不会触及较旧的块/ * .dat文件,但可能存在边缘情况(修剪),未来的开发可能需要触摸它们以释放空间等 - 所以我不知道这是否是一个可靠的假设依赖。

如果目标是在一台服务器上托管多个钱包时节省空间,那么重复数据删除文件系统可能是一种更安全的方式,而不依赖于符号链接。

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