Hyperledger fabric 系统链码与用户链码

Hyperledger fabric 系统链码与用户链码,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,在hyperledger文档中提到,当实现某些功能很困难或不可能时,我们使用系统链码来实现这些功能 但是,用户链码使用“Go”,这是图灵完备语言。因此,在我看来,一切都可以在它上面实现(除非它的成本高得令人望而却步,但hyperledger文档中没有定义) 问题1:在用户链码中,哪些操作很难或不可能实现 问题2:我们什么时候使用系统链码 问题1:什么样的操作很难或不可能实施 在用户链码中 需要访问本机对等服务的操作,如其通信层、成员服务提供商(MSP)服务等。 还有一些操作,比如计算单向函数的预

在hyperledger文档中提到,当实现某些功能很困难或不可能时,我们使用系统链码来实现这些功能

但是,用户链码使用“Go”,这是图灵完备语言。因此,在我看来,一切都可以在它上面实现(除非它的成本高得令人望而却步,但hyperledger文档中没有定义)

问题1:在用户链码中,哪些操作很难或不可能实现

问题2:我们什么时候使用系统链码

问题1:什么样的操作很难或不可能实施 在用户链码中

需要访问本机对等服务的操作,如其通信层、成员服务提供商(MSP)服务等。 还有一些操作,比如计算单向函数的预映像,或者决定给定代码是否在给定输入上停止的操作

问题2:我们什么时候使用系统链码? 在两种情况下:

  • 当您希望链码在对等机内运行时,即由于性能原因(用户链码执行大量gRPC往返)
  • 如果您希望链码能够访问对等方只能通过代码导入和代码引用提供的所有类型的服务,而shim API无法提供这些服务,例如通信层、MSP层和其他

  • 非常感谢你的回答!但是,他们的水平有点高;特别是对于那些想要实现一些加密的人。Hyperledger结构上的协议(包括我自己)。所以,给出了一个复杂的密码。协议,如何决定是否需要在系统或用户链码上实现它?此外,如果您能提供一个源代码,我就可以阅读它了(我已经阅读了上周发布的最新Fabric文档)。再次感谢!如果您的加密协议需要访问对等方的私钥,那么它必须是系统链码。否则,您可以使用用户链码来完成。你能详细介绍一下你想要实现的crpto吗?谢谢你的评论。在高层次上,协议的计算成本不会很低。它使用加密承诺、零知识和RSA签名的一种变体。在设置阶段,它使用两个客户端私钥。此外,节点可能希望处理智能合约中提供的某些数据,并证明其工作的正确性(因此节点也有一些秘密)。我想知道如何在计算和操作可行性方面,我们可以确定什么是可能的或更有效的系统链码。谢谢在不知道自己想做什么的情况下,一般来说很难解释。在rocket chat.hyperledger.org上点击我,你可以更好地解释你的用例。