我尝试使用 TRUSTEE DID 来发布具有 STEWARD 角色的新 DID,但我不断遇到以下错误:
Transaction has been rejected: client request invalid: insufficient number of valid signatures, 1 is required but 0 valid and 1 invalid have been provided.
我在下面附上了一张图片,显示了我在尝试将 TRUSTEE DID 设置为活动状态并发布新的 STEWARD DID 时收到的确切错误消息。
我的最终目标是使用此 TRUSTEE DID 来加入新节点。但是,当我尝试执行此操作时,我还收到有关无效签名的错误。此外,当我尝试使用现有的 STEWARD 加入新节点时,我遇到一个错误:
STEWARD already has a node.
我想要实现的目标:
我做错了什么?我应该使用不同的方法来加入节点,还是在使用 TRUSTEE DID 时需要以某种方式配置签名?
由于我看不到您的账本,因此无法确认问题,您是如何添加 UgCkF...DID 的?它是从节点的种子生成的吗?您更改了哪些 AUTH_MAP 规则?
我添加这样的节点(在 docker 容器的 usr/local/bin 处)(docker 容器需要公开节点端口和客户端端口才能工作):
指定 SomeSeed 非常重要,以便您可以在 indy-cli 部分使用它,如果您想加载现有的 DID,您应该将该种子放在 SomeSeed 部分上。
init_indy_keys --name NodeName --seed SomeSeed
start_indy_node NodeName 0.0.0.0 nodeport 0.0.0.0 clientport
在 indy-cli 之后:
did new seed=SomeSeed
did use TRUSTEEDID
ledger nym did=did_generated_from_did_new verkey=verkey_generated_from_did_new role=STEWARD
did use did_generated_from_did_new
ledger node alias=NodeName target=verification_key_generated_at_init_indy_keys node_ip=127.0.0.1 node_port=nodeport client_ip=127.0.0.1 client_port=clientport services=VALIDATOR blskey=blskey_generated_at_init_indy_keys blskey_pop=blskey_proof_of_posession_generated_at_init_indy_keys
如果您要连接不同网络上的多台不同计算机,则 IP 地址应该是服务器的外部 IP。我使用一个具有多个节点的 docker 容器来进行测试。 (6个节点在同一个容器上运行)这就是为什么我的参数是127.0.0.1