编写超级账本链码的语言重要吗?
Does the language in which the hyperledger's chaincode is written matter?
我正在尝试在 hyperledger 中开发链代码。我知道可以在 java、go 或 node js 中开发链码 cab。我的问题是我用哪种语言开发链代码重要吗?
我建议使用 GoLang,因为它在性能和可扩展性方面是一种高效且强大的语言。
在考虑用哪种语言编写链代码时,我通常会看到组织问自己以下问题:
- 哪种语言最成熟SDK/support?
- 哪种语言的开发人员 interest/ease 招聘人数最多?
- 哪种语言最安全?
最后一个经常被忽视,但在我看来,当考虑到链代码中的错误通常比典型代码中的错误更重要时,最后一个是最重要的之一!请记住,链码的输出始终记录在账本中,修复错误链码的输出可能是一个代价高昂的过程。
考虑到这些问题,您可以评估链代码支持的三种语言(go、nodejs、java)如下:
- Golang 是迄今为止最成熟的SDK/support。 Fabric 是用 Go 编写的,并认为 Go 是所有相关项目中的第一个 class 公民;因此,当涉及到 Fabric 支持时,它通常是第一个考虑和最新更新的语言。
- NodeJS 可能是最容易找到人才的,并且已经是一种广泛流行的语言,这意味着用 NodeJS 编写的链代码通常最容易访问。第一个开发和最受欢迎的 Fabric SDK(非链代码)是 nodejs,因此它们可以很好地结合在一起。当然,Java 可能有同样多甚至更多可用的开发人员,但我在这里把它算在第二位,因为它的支持要少得多。
- Golang 和 Java 都是强类型语言,并提供这些语言带来的保证。 Java也带来了多年的生产经验和安全。在语言安全方面,它们都胜过像 nodejs 这样的动态类型、JIT 编译语言。
TL;DR:Golang 有很强的安全保证并且得到最广泛的支持,NodeJS 更容易编写并且更容易找到开发人员,Java 很难卖
我正在尝试在 hyperledger 中开发链代码。我知道可以在 java、go 或 node js 中开发链码 cab。我的问题是我用哪种语言开发链代码重要吗?
我建议使用 GoLang,因为它在性能和可扩展性方面是一种高效且强大的语言。
在考虑用哪种语言编写链代码时,我通常会看到组织问自己以下问题:
- 哪种语言最成熟SDK/support?
- 哪种语言的开发人员 interest/ease 招聘人数最多?
- 哪种语言最安全?
最后一个经常被忽视,但在我看来,当考虑到链代码中的错误通常比典型代码中的错误更重要时,最后一个是最重要的之一!请记住,链码的输出始终记录在账本中,修复错误链码的输出可能是一个代价高昂的过程。
考虑到这些问题,您可以评估链代码支持的三种语言(go、nodejs、java)如下:
- Golang 是迄今为止最成熟的SDK/support。 Fabric 是用 Go 编写的,并认为 Go 是所有相关项目中的第一个 class 公民;因此,当涉及到 Fabric 支持时,它通常是第一个考虑和最新更新的语言。
- NodeJS 可能是最容易找到人才的,并且已经是一种广泛流行的语言,这意味着用 NodeJS 编写的链代码通常最容易访问。第一个开发和最受欢迎的 Fabric SDK(非链代码)是 nodejs,因此它们可以很好地结合在一起。当然,Java 可能有同样多甚至更多可用的开发人员,但我在这里把它算在第二位,因为它的支持要少得多。
- Golang 和 Java 都是强类型语言,并提供这些语言带来的保证。 Java也带来了多年的生产经验和安全。在语言安全方面,它们都胜过像 nodejs 这样的动态类型、JIT 编译语言。
TL;DR:Golang 有很强的安全保证并且得到最广泛的支持,NodeJS 更容易编写并且更容易找到开发人员,Java 很难卖