Hyperledger fabric Hyperledger Fabric-手动干预以批准来自其他组织的链码调用
假设存在两个不同的链码,比如chaincodeA和chaincodeB chaincodeA实现了一个函数,该函数在完成之前(例如,将某物置于状态),它调用chaincodeB中的一个函数,请求其他组织的管理员批准此操作 例如:Hyperledger fabric Hyperledger Fabric-手动干预以批准来自其他组织的链码调用,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,假设存在两个不同的链码,比如chaincodeA和chaincodeB chaincodeA实现了一个函数,该函数在完成之前(例如,将某物置于状态),它调用chaincodeB中的一个函数,请求其他组织的管理员批准此操作 例如: 调用chaincodeA-函数启动,在某些步骤后调用chaincodeB上的相应函数,该函数要求其他组织的管理员同意 chaincodeB中调用的函数启动并请求其他组织中的每个管理员进行批准。在这种情况下,chaincodeA的功能将等待已签署的批准的交付 每个管理员都
我是否应该在调用chaincodeA函数之前达成共识,并将管理员的答案保存到状态,以便在需要时检查它们?手动干预 我以前也考虑过类似的事情——将人力投入作为智能合约的一部分。作为这个思想实验的一部分,我发现了一些问题
- 超时,事务最终必须完成,因此在对等机上配置了超时。在某个时候,它需要使事务超时。任何来自人类的输入都需要足够快才能在这个超时下进入,或者至少有一个可接受的默认选项
- 你如何确认你问的是谁?他们的身份如何确定?经典问题,但在这里也非常相关
链码是运行智能合约的容器,是对等方的部署单元。谢谢Calanais。在第一个项目符号中,您说“在对等机上配置的超时”。难道不应该在链码本身配置超时吗?另外,我更关心的是:假设链码广播一条类似“嘿,投票!”的消息。每个人都知道,在系统中,只有具有“管理员”角色的成员才能投票(这解决了第二个问题,不是吗?)。所以,每个组织的每个管理员都会来投票,但是投票会发送到哪里呢?我的意思是,SDK如何将投票返回给发出该事件的函数(并等待答案)?