我目前正在设计一种用于进行实体(例如公司)交易的应用程序。
应用程序何时应具有多个链码?换句话说,多个链码的目的是什么?
为什么链码应具有多个智能合约?我是否应该有多个智能合约,其中一个用于提交交易(例如更改世界状态),另一个用于评估交易(例如从世界状态查询)?
谢谢!
答案 0 :(得分:0)
为了开展业务,一些组织必须达成共识,因此他们必须创建一个渠道,只有授权的组织属性才能访问。
在一个渠道中,每个有效的组织对等方都持有一份业务交易记录的物理副本,称为分类账,其中分类账相同,这意味着属于同一渠道的每个分类账都必须拥有相同的记录。
分类帐由两个不同但相关的部分组成-一个世界状态和一个区块链。世界状态–包含一组分类帐状态的当前值的数据库。区块链–记录所有导致当前世界状态变化的交易日志。
链码是用于读取分类账记录或将新记录写入分类账或更新现有记录的业务逻辑。
一个链码由多个智能合约组成。
因此,约定是针对每个通道的,您需要相同的链码。如果您有2个频道,则通常有两个不同的链码。