Hedera共识服务(HCS)单个主题是否支持设置多个提交密钥?
HCS主题多提交密钥配置问题解答
是支持的,你可以在创建Hedera共识服务(HCS)主题时配置多个提交密钥,允许多个持有对应有效密钥的主体向该主题提交消息。
Hedera原生支持两种多密钥结构来配置提交权限,你可以根据业务场景选择:
- 使用
KeyList密钥列表结构:你可以把所有允许提交消息的主体的公钥都加入到这个列表中,后续任意列表内的密钥对提交消息完成签名,即可通过校验完成消息提交,无需其他密钥持有者配合,完全匹配多独立主体各自提交消息的需求。 - 使用
ThresholdKey阈值密钥结构:你可以自定义签名生效阈值,例如你总共添加5个公钥,设置阈值为2,那么后续提交的消息只要有任意2个对应私钥的有效签名,即可完成提交,适合需要多方联合确认才能提交消息的场景。
Java SDK创建对应主题的示例代码如下:
// 构造包含3个允许提交的公钥的KeyList KeyList submitKeys = KeyList.of( PublicKey.fromString("公钥1字符串"), PublicKey.fromString("公钥2字符串"), PublicKey.fromString("公钥3字符串") ); // 构建HCS主题创建交易,传入构造好的多签提交密钥 new TopicCreateTransaction() .setTopicMemo("多提交密钥测试主题") .setSubmitKey(submitKeys) .execute(client);
注意:如果你创建HCS主题时没有配置
submitKey字段,该主题默认对所有主体开放提交权限,任何主体都可以无签名提交消息,无权限校验。
内容的提问来源于stack exchange,提问作者Waylon Jepsen
相关产品推荐
相关产品推荐

