Hyperledger fabric 如何在Hyperledger结构中描述智能合约的通用输入?

Hyperledger fabric 如何在Hyperledger结构中描述智能合约的通用输入?,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我正在用Hyperledger Composer开发一个POC。我有一项资产需要通用。我解释;在金融领域,有不同类型的合约,如远期合约、期权合约和许多其他类型的灵活合约。我需要在代码中对其进行建模。所以我决定把合同视为一项资产。当资产被调用时,该资产的基础商品的交易方式取决于调用它们的合同类型。换句话说,智能合约的输入是通用的,行为取决于合约的类型(记住,合约是一种资产,我这里不是指智能合约) 为了实现这一点,我需要具有多态性,以便拉式契约(资产)本身决定如何进行交易。我想知道是否可以在智能co

我正在用Hyperledger Composer开发一个POC。我有一项资产需要通用。我解释;在金融领域,有不同类型的合约,如远期合约、期权合约和许多其他类型的灵活合约。我需要在代码中对其进行建模。所以我决定把合同视为一项资产。当资产被调用时,该资产的基础商品的交易方式取决于调用它们的合同类型。换句话说,智能合约的输入是通用的,行为取决于合约的类型(记住,合约是一种资产,我这里不是指智能合约)

为了实现这一点,我需要具有多态性,以便拉式契约(资产)本身决定如何进行交易。我想知道是否可以在智能cotnract中使用通用输入?Hyperledger结构中是否存在多态性?如果答案是肯定的,我很感激你能指导我怎么做?如果它不支持多态性,那么如何实现它呢?您是否建议使用任何架构来克服此限制

谢谢你的帮助


感谢您的时间和关注。

从Hyperledger Composer的角度来看,您可以按照您在模型文件中描述的方式对通用合同资产进行建模

请注意,您在H/L Composer中定义的整个模型也是可执行智能合约(以及事务逻辑、ACL规则、查询等)或业务网络的一部分,仅供参考。您对智能合约的输入是/是调用它的事务(例如PullContract),合约的“拉入”方式取决于输入


智能合约事务逻辑(javascript)打包为安装在远程对等机上的业务网络的一部分(本机NodeJS链码)-无论如何,在你的区块链网络中有许多组织。

从H/L编写者的角度来看,你可以按照你在模型文件中描述的那样对你的通用合同资产进行建模。请注意,您在H/L Composer中定义的整个模型也是运行时智能合约(以及事务逻辑、ACL规则、查询等)或业务网络的一部分,仅供参考。您对智能合约的输入是/是调用它的事务(例如PullContract),而合约的“拉入”方式取决于输入。您是否从客户机应用程序调用“智能合约”(通过事务),并向该事务提供“调用它们的合约类型”?这将是最简单的方法-然后您的交易逻辑可以确定地执行“该资产的基础商品将如何交易”。这有用吗?@PaulO'Mahony嗨,是的,这就是我想的。将合同类型作为输入发送到智能合同。所以,如果它是一个选择,或者是一个未来,或者是其他任何东西,再加上其他的论点。您认为这是调用智能合约的合适方式吗?智能合约逻辑打包为安装在远程对等方上的业务网络的一部分((本机NodeJS链码)-在“无论你的区块链网络中有多少组织”-该智能合约的交易逻辑部分基于javascript@PaulOMahony您的第一条评论与支持多态性的typescript一起是一个合适的答案。请您在回答部分提供它好吗?我不能将您的评论作为答案打勾。