docker-compose部署,down之后启动无法出块

在使用docker-compose 部署cita链,部署后就不能正常出块,就卡在最近的块高处。0.22版本.
已经尝试docker-compose up -d node* 逐一启动无效(删除了pid文件)


你可以使用

把日志 cita_info.tar.gz 贴上来吗?

没权限贴tar包,日志的话有点多。

我看你的日志,在出错前,你进行了反复的重启。
问一下,你在进行反复重启前有没有增删除过共识节点?

没有,因为不出块 所以进行了多次重启尝试,最初是尝试修改了operator参数没生效。

一共弄了 6 个共识节点?

对的 一共6个

现在开放上传 gz 文件了,你试试看

文件过大无法上传。

是多大?

16m

16M 是整个日志文件吗? 你是使用cita-op-helper 获取的日志内容?获取了多少行?

5000行,6个node的tar包

能放到云盘中,提供个URL 下载地址吗?

通过你提供的日志,进行分析,问题原因如下:

  1. CITA 在共识上存在一个 bug 。
  2. 咱们有几次反复重启没有删除 *.pid 文件。
  3. 导致最后一个块的一个交易没有达成共识,从而产生了你所描述的问题。

现在的解决办法为:

  1. Stop 所有 CITA 节点,删除所有节点内的 *.pid 文件;
  2. 使用工具 cita_recover 消去最后那个未达成共识的块;
    执行命令如下 (供参考), 其中 ./cita_secp256k1_sha3_node0/xxx/0/data/ 表示 CITA 节点数据路径, 146887 表示最后未达成共识的块:
./cita_recover -d ./cita_secp256k1_sha3_node0/xxx/0/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node1/xxx/1/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node2/xxx/2/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node3/xxx/3/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node4/xxx/4/data/ -h 146887
./cita_recover -d ./cita_secp256k1_sha3_node5/xxx/5/data/ -h 146887
  1. 启动所有 CITA 节点;

我在使用时出现提示
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

该工具很久没有更新了,支持1.x后的版本吗 ? 支持国密版本吗 ?

这个工具会直接操作数据库 (RocksDB),与算法无关,也支持现在的 CITA 最新版本。

你可以进行 cita-run 的容器里去执行这个脚本。

进入容器后可以运行这个文件,在容器里面如何操作容器外部的文件有没具体的操作指令
容器外面提示:
cita_recover: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

进入容器后提示:
chain db dir not exist

我用的指令:cita_recover -d /data/cita/cita_secp256k1_sha3/testchain/0/data/ -h 58