You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用indy-cli发布DIDs时出现未收到交易响应问题

Indy-Node集群发布DID超时但查询正常的排查与解决

问题描述

在三台不同机器上部署indy-node节点集群后,初期可正常执行DID发布与查询操作,示例操作如下:

indy>     pool create identity_pool gen_txn_file=/var/lib/indy/sandbox/pool_transactions_genesis
Pool config "identity_pool" has been created
indy>     pool connect identity_pool
Pool "identity_pool" has been connected
pool(identity_pool):indy>     wallet create actor_wallet key=abc
Wallet "actor_wallet" has been created
pool(identity_pool):indy>     wallet open actor_wallet key=abc
Wallet "actor_wallet" has been opened
pool(identity_pool):actor_wallet:indy>     did new seed=100A000000300000c0000000Steward1 metadata="steward DID"
Did "RnXJMDxifkBaceAkPizz8F" has been created with "~9F4P9aQysR1YATnARMuhxt" verkey
Metadata has been saved for DID "RnXJMDxifkBaceAkPizz8F"
pool(identity_pool):actor_wallet:indy>     did use RnXJMDxifkBaceAkPizz8F
Did "RnXJMDxifkBaceAkPizz8F" has been set as active
pool(identity_pool):actor_wallet:did(RnX...z8F):indy>     ledger nym did=RnXJMDxifkBaceAkPizz8F
Nym request has been sent to Ledger.
Metadata:
+------------------------+-----------------+---------------------+---------------------+
| From                   | Sequence Number | Request ID          | Transaction time    |
+------------------------+-----------------+---------------------+---------------------+
| RnXJMDxifkBaceAkPizz8F | 4               | 1721395027316620804 | 2024-07-19 13:17:07 |
+------------------------+-----------------+---------------------+---------------------+
Data:
+------------------------+------+
| Did                    | Role |
+------------------------+------+
| RnXJMDxifkBaceAkPizz8F | -    |
+------------------------+------+

但在发布若干个DID后,或经过一段时间,执行ledger nym did=<NEW_DID>命令时出现超时错误:

Transaction response has not been received

执行ledger get-nym did=<EXISTENT_DID>命令仍可正常从任意节点获取已存在DID的信息:

pool(identity_pool):actor_wallet:did(RnX...z8F):indy> ledger get-nym did=RnXJMDxifkBaceAkPizz8F
Following NYM has been received.
Metadata:
+------------------------+-----------------+---------------------+---------------------+
| Identifier             | Sequence Number | Request ID          | Transaction time    |
+------------------------+-----------------+---------------------+---------------------+
| RnXJMDxifkBaceAkPizz8F | 4               | 1721395092477092709 | 2024-07-19 13:17:07 |
+------------------------+-----------------+---------------------+---------------------+
Data:
+------------------------+------------------------+-------------------------+---------+
| Identifier             | Dest                   | Verkey                  | Role    |
+------------------------+------------------------+-------------------------+---------+
| L4vaBJDbZiaX68mVHLuZ2E | RnXJMDxifkBaceAkPizz8F | ~9F4P9aQysR1YATnARMuhxt | STEWARD |
+------------------------+------------------------+-------------------------+---------+

已确认pool_transactions_genesis文件正确(初期可正常发布DID)。

排查与解决步骤

1. 节点共识状态校验

  • 登录每个节点,执行indy-node status,确认所有节点的Node status为Alive,Consensus status为Participating。若有节点状态异常,执行systemctl restart indy-node重启节点。
  • 查看节点日志(默认路径/var/log/indy/),搜索consensus、timeout、failed关键词,定位共识过程中的错误记录。

2. 资源性能排查

  • 使用top、df -h检查各节点的CPU、内存、磁盘使用率,若资源耗尽(如内存不足、磁盘IO过高),会导致共识处理延迟,引发写入超时。
  • 检查indy-node进程的资源限制,确保节点有足够资源处理共识事务。

3. 网络连通性验证

  • 测试三台机器间indy-node所有默认端口(9701-9708等)的连通性,使用nc -zv <节点IP> <端口>。部分防火墙或云环境会关闭空闲长连接,导致共识消息无法传递。
  • 检查节点indy_config.py配置中的NETWORK_NAME、NODE_IP等参数,确保节点间能正确识别彼此地址。

4. 账本同步状态检查

  • 执行ledger get-txn-by-seq ledger=pool seqno=<最新序列号>,验证所有节点的账本序列是否同步。若部分节点序列落后,说明同步机制异常,需检查节点间的账本同步逻辑。
  • 执行indy-node ledger-status查看交易处理速度与积压情况,若有大量未处理交易,可调整节点共识参数(如consensus_timeout)。

5. 身份权限验证

  • 通过ledger get-nym did=<Steward_DID>确认用于发布DID的Steward身份角色仍为STEWARD,若权限被修改会导致交易被拒绝,表现为超时。
  • 重新导入Steward的seed创建DID,验证钱包中私钥有效性。

6. 版本一致性检查

  • 执行indy-node --version确认三台节点的indy-node版本完全一致,版本不兼容会导致共识协议冲突,引发写入超时但查询正常的情况。若版本不同,统一升级或降级至同一版本。

内容的提问来源于stack exchange,提问作者brenodacosta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 21:50:19