系统链码与用户链码

时间:2017-12-15 12:05:16

标签: hyperledger-fabric hyperledger

它是超级文档,它表示当实现某些功能很困难或不可能时,我们使用系统链代码来实现这些功能。

但是,用户链代码使用的是“Go”,这是图灵完整的语言。所以,在我看来,一切都可以在它上面实现(除非它的成本非常高,但在超级文档文档中没有任何定义)。

问题 1:在用户链代码中难以或无法实现哪些操作?

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

1 个答案:

答案 0 :(得分:1)

  

问题1:难以或不可能实施哪种操作   在用户链码?

需要访问本地对等服务的操作,例如其通信层,其成员服务提供程序(MSP)服务等。 但也可以是计算单向函数的前映像或确定给定代码是否在给定输入上停止的操作。

  

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

  1. 当您希望您的链代码在对等内部运行时,即因为性能(用户链代码执行大量gRPC往返)
  2. 当您希望您的链代码能够访问所有类型的服务时,对等方只能通过代码导入和代码引用提供,并且填充API无法提供它们,例如通信层,MSP层等。