hyperledger的链码用什么语言写的重要吗?

问题描述 投票:0回答:2

我想在hyperledger中开发一个链码,我知道这个链码可以用java、go或者node js来开发。我知道链码可以用java、go或node js开发。我的问题是,我用哪种语言开发链码有关系吗?

hyperledger-fabric hyperledger-chaincode
2个回答
1
投票

当考虑用哪种语言写链码时,我通常会看到一些企业问自己以下问题。

  • 哪种语言的SDK支持最成熟?
  • 哪种语言的开发者最容易被雇佣?
  • 哪种语言提供的安全性最高?

最后一个问题经常被忽略,但在我看来,是最关键的问题之一,因为考虑到链码中的bug往往比一般代码中的bug重要得多! 请记住,链码的输出会一直铭刻在账本中,而修复不良链码的输出可能是一个代价高昂的过程。

考虑到这些问题,你可以对链码支持的三种语言(go、nodejs、java)进行如下评估。

  • Golang 拥有迄今为止最成熟的SDKsupport。Fabric是用Go编写的,在所有的切身项目中都将Go视为一等公民,因此在Fabric的支持上,Go往往是最先考虑和更新最多的语言。
  • NodeJS 可能是最容易找到人才的,而且已经是一种广泛流行的语言,也就是说链码一般用NodeJS写的时候会最容易上手。最早开发的、最流行的Fabric SDK(非chaincode)就是nodejs的,所以这些很好搭配。当然了。爪哇 可能有同样多的开发者,如果不是更多的话,但我在这里把它算作第二位,因为它得到的支持要少得多。
  • Golang爪哇 都是强类型语言,并提供了这类语言带来的保障。Java也带来了多年的生产经验和安全性。在语言安全方面,这些都比nodejs这样的动态类型化、JIT编译的语言更胜一筹。

TL;DR:Golang有很强的安全保障,而且支持的范围最广,NodeJS更容易写,也更容易找到开发者,Java则很难卖掉


0
投票

我建议使用GoLang,因为在性能和可扩展性方面,GoLang是一种高效而强大的语言。

© www.soinside.com 2019 - 2024. All rights reserved.