Hyperledger fabric hyperledger结构:读取查询并在通道内的多个对等方之间进行通信
Hyperledger fabric hyperledger结构:读取查询并在通道内的多个对等方之间进行通信,hyperledger-fabric,Hyperledger Fabric,我知道readquery是一种链码调用,它读取分类账的当前状态,但不写入分类账。
客户端应用程序可以选择提交只读事务以进行排序、验证和提交(用于审核目的)
问题:
是否可以不通过链码读取分类账数据库?
是什么阻止通道上的人直接读取CouchDB(假设使用的是底层DB),而不使用契约和避免记录读取
基本上,我们在结构中使用异步通信。发起交易的节点仅与对等方同步对话,并且在启动订购服务后,订购服务将在所有验证检查之后将txn提交到分类账
以下是可能的吗?
节点A向分类账请求提交数据,以进行操作->这
我知道readquery是一种链码调用,它读取分类账的当前状态,但不写入分类账。
客户端应用程序可以选择提交只读事务以进行排序、验证和提交(用于审核目的)
问题:
是否可以不通过链码读取分类账数据库?
是什么阻止通道上的人直接读取CouchDB(假设使用的是底层DB),而不使用契约和避免记录读取
基本上,我们在结构中使用异步通信。发起交易的节点仅与对等方同步对话,并且在启动订购服务后,订购服务将在所有验证检查之后将txn提交到分类账
以下是可能的吗?
节点A向分类账请求提交数据,以进行操作->这需要由节点B完成
节点A是否可以通知B检查分类账并执行操作,B是否可以在完成后通知A检查更新的分类账
是否可以不通过链码读取分类账数据库?
是什么阻止频道上的人直接阅读CouchDB
(假设使用的是基础DB)不使用合同和
避免记录读取
如果您可以访问数据库本身,那么没有任何东西可以阻止您这样做。
然而,客户机通常没有访问数据库的权限,因此对等方(通过链码)可能会强制执行选择性逻辑,对哪些客户机和哪些数据可以读取。
想象一下应用服务器、servlet容器等。
从浏览器浏览的用户无权访问应用程序服务器使用的数据库,对吗?
这里也发生了类似的事情
基本上,我们在结构中使用异步通信。节点
启动事务只与对等方进行同步对话,并且
在该订购服务启动后,将把txn提交给
所有验证检查后的分类账
严格来说,订购服务不会将txn提交到分类账,因为订购服务没有分类账。它将事务打包成块,然后将块发送给对等方。然后是对等方验证并将块提交到他们自己的账本中
节点A是否可以通知B检查分类账并执行
操作和B完成后通知A检查更新的分类账
您需要客户端SDK来协调所有这些。用户链码仅在客户端请求的上下文中运行。
因此,您可以让客户机执行提交交易的操作,然后客户机发送另一个交易,其中链码检查当前分类账等
是否可以不通过链码读取分类账数据库?
是什么阻止频道上的人直接阅读CouchDB
(假设使用的是基础DB)不使用合同和
避免记录读取
如果您可以访问数据库本身,那么没有任何东西可以阻止您这样做。
然而,客户机通常没有访问数据库的权限,因此对等方(通过链码)可能会强制执行选择性逻辑,对哪些客户机和哪些数据可以读取。
想象一下应用服务器、servlet容器等。
从浏览器浏览的用户无权访问应用程序服务器使用的数据库,对吗?
这里也发生了类似的事情
基本上,我们在结构中使用异步通信。节点
启动事务只与对等方进行同步对话,并且
在该订购服务启动后,将把txn提交给
所有验证检查后的分类账
严格来说,订购服务不会将txn提交到分类账,因为订购服务没有分类账。它将事务打包成块,然后将块发送给对等方。然后是对等方验证并将块提交到他们自己的账本中
节点A是否可以通知B检查分类账并执行
操作和B完成后通知A检查更新的分类账
您需要客户端SDK来协调所有这些。用户链码仅在客户端请求的上下文中运行。
因此,您可以让客户机执行提交交易的操作,然后客户机发送另一个交易,其中链码检查当前分类账等