我想在hyperledger-fabric的基础上创建一个区块链平台,想要使用该平台的组织在查询或调用交易时必须向我付款。我的想法是编写一个链码“ mainchain”来保存信息。每当查询或调用时,使用我们平台的组织帐户(标识,余额..),交易将通过插件(背书)进行。
我可以使用GetStateMultipleKeys()
功能来获取余额信息,检查该组织的余额是否有足够的余额,如果余额不足,它将继续认可该交易并从余额中扣除费用,它不会认可交易。
但是,我有一个问题,但是我没有找到解决方法。这是余额,并且该交易的背书完成后的余额需要减去该余额,但是根据我的信息,插件无法调用输入链码来减去“主链”中的余额(余额)?考虑使用调用API,但插件中的余额除外。另外,背书插件有一种方法可以减少“主链”中的余额,
抱歉,我的表情可能很难理解。
希望您的帮助。
谢谢
答案 0 :(得分:0)
您指的是什么插件?
我认为,根据您的问题,您希望为组织保留余额,如果余额用尽不应该发生交易,在这种情况下,一种简单的方法是将余额保持为一种状态(可能是私有状态) ,并且每次发生事务时,您都可以将-1的状态更改为该组织。 GetStateMultipleKeys 遍历每个键的GetState,因此出于性能原因应谨慎使用。
答案 1 :(得分:0)
您可以尝试在主链中添加一个特殊功能,该功能将资金从用户帐户转移到对等方帐户,并将用于支付查询和调用费用。
假设您每进行1000次查询或调用,就将1个单位的资金从用户帐户转移到对等方帐户。
因此,背书插件会在授权该操作之前检查by accessing the state您是否已预付了足够的背书费用。
我认为,如果您投入足够的精力,您也许可以使用背书插件的SigningIdentity capabilities来实际从插件本身向定购者发送交易(我知道这听起来有点复杂) 。
因此,您可以拥有认可插件,计算对其执行的认可/查询的数量,并定期将其写入区块链。
这很棘手,因为您可以有多个同伴,但是-我相信您可以使它以某种方式工作。