IROHA新帐户已创建,但无法从管理员帐户获取帐户信息

时间:2019-02-04 09:33:13

标签: hyperledger hyperledger-iroha

我已经完成了iroha的配置并启动了iroha守护程序。我使用以下命令创建了一个新帐户,

iroha-cli --new_account --account_name user1@test

我能够与iroha-cli进行交互,但是即使我无法获取帐户信息,也无法创建任何交易或查询。

    Choose what to do:
    1. New transaction (tx)
    2. New query (qry)
    3. New transaction status request (st)
    > : 2 

    Choose query: 
    1. Get all permissions related to role (get_role_perm)
    2. Get Transactions by transactions' hashes (get_tx)
    3. Get information about asset (get_ast_info)
    4. Get Account's Transactions (get_acc_tx)
    5. Get Account's Asset Transactions (get_acc_ast_tx)
    6. Get all current roles in the system (get_roles)
    7. Get Account's Signatories (get_acc_sign)
    8. Get Account's Assets (get_acc_ast)
    9. Get Account Information (get_acc)
    0. Back (b)
    > : 9 

    Requested account Id: user1@test 

Query is formed. Choose what to do:
    1. Send to Iroha peer (send)
    2. Save as json file (save)
    0. Back (b)
    > : 1 

    Peer address (0.0.0.0):  
    Peer port (50051):  

    [2019-02-04 09:00:34.748141999][th:185][error] QueryResponseHandler Query is stateful invalid
    --------------------

我在创世块中添加了帐户公共ID,然后重新启动了守护程序,但仍然出现相同的错误,请任何人向我建议正确的方法,

3 个答案:

答案 0 :(得分:1)

我找到了解决方法...

重新启动iroha守护程序时,出现以下警告。

[2019-02-21 04:54:25.009069450][th:108][warning] MAIN Passed genesis block will be ignored without --overwrite_ledger flag. Restoring existing state.

这意味着如果您编辑了创世块,则必须在启动守护程序时启用--overwrite_ledger标志,否则它将忽略当前创世块并从上一个创世块中读取数据。

以下是添加新帐户的另一种方法

  1. 使用以下命令创建新帐户后,它将生成密钥对
  

iroha-cli --new_account --account_name user1 @ test

  1. 在iroha-cli中以管理员帐户身份登录
  2. 选择新交易
  3. 选择创建帐户
  4. 输入第一步中生成的帐户名,域ID和公共密钥

现在,您的新帐户已添加,您可以使用该帐户执行交易。

您可以采用第一种方法,也可以采用第二种方法,但是第二种方法是添加新帐户的更好解决方案,因为不需要覆盖分类帐。

希望对其他人有帮助。.

答案 1 :(得分:0)

请确保您在创世块中正确使用了公钥(它必须是十六进制密钥)。有状态错误通常是由于关键问题而发生的。

如果一切正常,可以请您分享创始区块和公钥吗?

答案 2 :(得分:0)

@sara感谢您的回复, 我验证了创世块中的公钥,它是正确的。

以下是我的创始密码

library(stringi)
stri_extract_last_regex(tt$V1, "(?<=\\().*?(?=\\))")
#[1] "2013" "2016" "1975" "1990"