我想添加帐户,其中包含所有用户都可以读取的一些信息。根据文档,用户需要具有权限can_get_all_acc_detail。所以我试图添加那些创建新角色的人:
tx = self.iroha.transaction([
self.iroha.command('CreateRole', role_name='info', permissions=[primitive_pb2.can_get_all_acc_detail])
])
tx = IrohaCrypto.sign_transaction(tx, account_private_key)
net.send_tx(tx)
不幸的是,在发送交易后,我看到了状态:
status_name:ENOUGH_SIGNATURES_COLLECTED, status_code:9, error_code:0(OK)
但是直到超时需要5分钟。
我注意到事务 json 嵌入权限的方式与在通用块中不同:
payload {
reduced_payload {
commands {
create_role {
role_name: "info_account"
permissions: can_get_all_acc_detail
}
}
creator_account_id: "admin@example"
created_time: 1589408498074
quorum: 1
}
}
signatures {
public_key: "92f9f9e10ce34905636faff41404913802dfce9cd8c00e7879e8a72085309f4f"
signature: "568b69348aa0e9360ea1293efd895233cb5a211409067776a36e6647b973280d2d0d97a9146144b9894faeca572d240988976f0ed224c858664e76416a138901"
}
在 genesis.block 中比较它是:
{
"createRole": {
"roleName": "money_creator",
"permissions": [
"can_add_asset_qty",
"can_create_asset",
"can_receive",
"can_transfer"
]
}
},
我正在使用 iroha 版本 1.1.3(但也在 1.1.1 上测试过),python iroha sdh 版本是 0.0.5.5。