首页 > 解决方案 > 如何在 Hyperledger Fabric 中描述智能合约的通用输入?

问题描述

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

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

我很感激任何帮助。

感谢您的时间和关注。

标签: hyperledger-fabrichyperledgerhyperledger-composer

解决方案


从 Hyperledger Composer 的角度来看,您将按照您在模型文件中描述的那样对您的通用合约资产进行建模。

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

智能合约交易逻辑(javascript)被打包为业务网络的一部分,安装在远程对等点(本机 NodeJS 链代码)上——然而,许多组织都在你的区块链网络中。


推荐阅读