Author Topic: 0.8钱包问题小结  (Read 2728 times)

0 Members and 1 Guest are viewing this topic.

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
更新:
跑岔的同学,不想升级或者没办法升级到0.8.1的同学,可以下载这个帖子里面的checkpoints.json
https://bitsharestalk.org/index.php?topic=15218.msg196858#msg196858
替换掉自己钱包数据目录的同名文件,然后删除chain目录重新下载就不会再跑岔了。
« Last Edit: April 05, 2015, 02:47:14 pm by abit »
BitShares committee member: abit
BitShares witness: in.abit

Offline mtang

  • Sr. Member
  • ****
  • Posts: 366
  • BTSX id:mtang
    • View Profile

打赏一个 :)
BTSX:wallet_approve_delegate btsx.outofcontrol true
DNS :wallet_account_set_approval mtang true
感谢给我们的受托人团队“失控”btsx.outofcontro以及she.bitrose投票。请关注FUND数字资产运作计划//立足兢兢业业的standby delegate//weibo ID:汤O包

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
0.8钱包问题小结

1. 事情经过
  1) 由于0.8.1钱包发布比较仓促,很多受托人在分叉块 2113000 之前来不及升级到最新版,导致分叉链比较长;
  2) 由于0.8.1升级时没有强制re-index,就是说钱包不会重新检查本地chain的每个块是否符合规则,所以升级前如果已经跑到分叉链,就会卡住;
  3) 按照现在的分叉链切换算法,当钱包在分叉链上跑了超过360个块之后,不能自动切回主链,就算手工re-index也不行,只能删除 chain 目录重新下载;
  4) 使用 0.8.0 版本的普通用户(非受托人),很可能跑到分叉链上,删除 chain 目录重新同步仍然可能跑到分叉链上;
  5) 现在版本的钱包,收到其他节点的块时,如果发现与自己的出块规则不匹配,会把整个块的内容记入 log 日志,同时还会记录到 exceptions 目录,导致占用硬盘空间大


2. 问题分析和解决
  1) 无法同步到最新块
    1- 确定钱包是不是最新版本(v0.8.1),由于官方没有发布 Mac 版本的可执行文件下载,建议 Mac 用户自己编译升级,或者等发布,或者按下面步骤碰运气
      (编辑更新:不想升级或者没办法升级到0.8.1的同学,可以下载这个帖子里面的checkpoints.json
https://bitsharestalk.org/index.php?topic=15218.msg196858#msg196858
替换掉自己钱包数据目录的同名文件,然后删除chain目录重新下载就不会再跑岔了。)
    2- 如果块链数据已经损坏,或者是在 2113000 块之后,也就是北京时间3月24号晚上20:35之后升级到最新版本的,需要删除 chain 目录重新同步
    3- 如果显示没有网络连接,可以尝试删除 peers.leveldb 目录重新同步
    4- 其他方案:下载云盘区块数据替换、使用 chain_server 、手工添加节点等

  2) 数据目录占用硬盘空间太大
    1- 退出钱包,删除 logs 目录和 exceptions 目录,重新启动钱包
    2- 对于需要长时间保持钱包开启的用户,比如受托人
      a- 针对 logs目录: 将数据目录中 config.json 里的 logging 部分的 "enabled": true 全部改为 false ,重启钱包
      b- 针对 exceptions 目录: 修改 libraries/client/client.cpp ,删除 665,850,867,1234-1237 行代码,即 _exception_db.store() 相关代码,重新编译
« Last Edit: April 05, 2015, 02:46:43 pm by abit »
BitShares committee member: abit
BitShares witness: in.abit