作曲家网络如何在结构运行时表示。在作曲家网络中创建的资产实例是否与在实际结构运行时创建的资产具有一对一的关系?
2 回答
Fabric 没有资产的概念——它使用键/值存储(LevelDB)或者可以使用 CouchDB(JSON 存储)。
处理 Composer 事务(对应于 Fabric 的 invokeChaincode 事务)时,创建的任何资产都将作为新键存储在键值存储中,或存储在 JSON 存储中。
Composer 将资产和参与者组织成“注册表”,用于构造复合键名,将相关资产保持在一起并防止命名冲突。
Fabric 和其他区块链中的关键特性是分布式账本。来自Fabric 文档:
账本是结构中所有状态转换的有序、防篡改记录。状态转换是参与方提交的链码调用(“交易”)的结果。每个事务都会产生一组资产键值对,这些键值对作为创建、更新或删除提交给分类帐。
账本由一个区块链(“链”)组成,用于将不可变的、有序的记录存储在块中,以及一个状态数据库(或世界状态)以维护当前的结构状态。
当通过 Hyperledger Composer 创建资产时,该对象的结构会被序列化并存储,以确保使用账本来跟踪该资产的创建。同样,对 Hyperledger Composer 资产的其他操作进行转换,以便它们被分类帐跟踪。
除了通过 Composer API 或通过提交 Composer 交易来跟踪资产及其更新之外,Composer 还添加了允许执行 ACL 的功能。这些是 Composer 中定义的资产范围内的 ACL。
总而言之,如果您将 Fabric 视为提供具有最终性、出处、不变性等概念的分布式账本,那么 Hyperledger Composer 是账本之上的抽象,它将资产、参与者等概念映射到一种格式,即坚持在账本上。