Hyperledger Composer:宠物交易场景中客户应定义为Participant还是Asset?
客户应定义为Participant而非Asset
嘿,这个问题的答案其实很清晰——客户必须定义为Participant,咱们结合业务场景和两类对象的核心定位来拆解:
先明确核心区别:
- Participant 代表的是参与业务网络的主动实体,可以是个人、组织,他们能发起/参与交易,拥有或处置资产,是业务流程的执行者。
- Asset 是被交易、被拥有的被动对象,是业务中的标的物,所有权可以在不同Participant之间转移。
回到你的场景:
- 宠物店(Pet-store)是Participant,猫(Cat)是Asset,这已经是符合逻辑的设定——猫是被买卖的标的物,所有权从宠物店转移到客户。
- 客户作为购买行为的发起者,是交易的核心参与方,还能拥有多只猫(也就是持有Asset),完全符合Participant的角色定位。如果把客户定义成Asset,就等于把他们当成了可被交易的物品,这显然违背业务逻辑。
从区块链交易的角度看:
每次卖猫的交易记录里,应该是两个Participant(宠物店+客户)之间完成了Asset(猫)的所有权转移,这样的模型既贴合实际业务,也符合这类系统中Participant和Asset的职责划分。
内容的提问来源于stack exchange,提问作者Derek Hobden
相关产品推荐
相关产品推荐

