hyperledgerhyperledger-indyindy-node

Issue with TRUSTEE DID and Onboarding New Node


I'm trying to use a TRUSTEE DID to publish a new DID with the role of STEWARD, but I keep encountering the following error:

Transaction has been rejected: client request invalid: insufficient number of valid signatures, 1 is required but 0 valid and 1 invalid have been provided.

I've attached an image below showing the exact error message I receive when trying to set the TRUSTEE DID as active and publish the new STEWARD DID.

enter image description here

My final goal is to use this TRUSTEE DID to onboard a new node. However, when I attempt this, I also get an error about an invalid signature. Moreover, when I try onboarding a new node using an existing STEWARD, I encounter an error that states:

STEWARD already has a node.

What I am trying to achieve:

  1. Use a TRUSTEE DID to onboard a new node.
  2. Assign a new STEWARD DID (created from the TRUSTEE) to handle the new node.

What am I doing wrong? Should I be using a different method to onboard the node, or do I need to configure the signatures somehow when using the TRUSTEE DID?


Solution

  • Since I can not see your ledger I can not confirm the issue, how did you add the UgCkF... DID ? Is it generated from the node's seed ? What are your AUTH_MAP rules did you change them ?

    I add nodes like this (at usr/local/bin of docker container) (docker container needs to have the nodeport and clientport ports exposed for this to work):

    it is important to specify SomeSeed so that you can use it on the indy-cli part, if you want to onboard an existing DID, you should put that seed on the SomeSeed part.

    init_indy_keys --name NodeName --seed SomeSeed 
    
    start_indy_node NodeName 0.0.0.0 nodeport 0.0.0.0 clientport
    

    After this at indy-cli, in the node of the TRUSTEE:

    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
    

    the IP addresses should be the external IP of your server if you are connecting multiple different computers on differing networks. I use one docker container with multiple nodes for testing purposes. (6 nodes running on the same container) this is why my parameters are 127.0.0.1

    enter image description here

    enter image description here

    ./validator-info in containers usr/local/bin