默认情况下,某人可以读取状态数据using REST API。有没有一种方法可以在特定地址上添加读取权限并在网络启动时更改它们。
答案 0 :(得分:1)
问题的简短答案是使用代理服务器,问题中引用的文档在这里https://sawtooth.hyperledger.org/docs/core/releases/1.1/sysadmin_guide/rest_auth_proxy.html#using-a-proxy-server-to-authorize-the-rest-api
可能没有一个开箱即用的组件可以满足您的要求。绝对有可能满足您的要求。您可以在代理服务器中基于读取的地址添加逻辑过滤。
更多说明:
如果您正在考虑每个组织一个Validator实例。组织参与了区块链应用用例,那么网络中的所有参与者都可以看到您存储在状态存储中的数据。参与组织的责任是限制对其数据的访问。使用代理服务器就是这样一种方法。
如果您正在考虑为每个组织添加多个用例,并完全参与不同的网络,则建议对于每个需要隔离的用例,使用不同的Validator实例。同样,每个组织都有责任保护他们参与的网络中存储的数据。
对于第2点,建议的Hyperledger Sawtooth 2.0解决方案使您可以在单个过程中将Validator的多个实例作为服务运行。这意味着您可以让一个物理节点(也可以进行处理)参与提供隔离的多个电路。
在结束答案之前,为其他人寻找答案的好处:区块链不仅是分布式存储,而且还是分散式网络。有多种设计模式可让我们将关键数据保留在区块链网络之外,并使用区块链网络的功能(达成共识,具体地进行智能合约验证)来实现预期的功能。