欢迎访问比特币_区块链-币链视界!

币链视界

基于区块链的分布式应用开发用什么语言呢

发布时间:2021-02-23区块链应用评论
知乎用户回答Reed8人赞同了该回答谢邀!我个人搞过底层链开发,也搞过多款DApp。两种是不太一样的。先说底层链开发。链开发最早一般用C++,bitcoin核心的版本就用的这个,毕竟是200

知乎用户回答Reed8人赞同了该回答谢邀!

我个人搞过底层链开发,也搞过多款DApp。两种是不太一样的。

先说底层链开发。链开发最早一般用C++,bitcoin核心的版本就用的这个,毕竟是2008就开始写的,当时写网络程序C++在场景不过。采用c++的知名项目,还包括BM的那几个bitshares,steemit,eos。因为他们的底层都用得是石墨烯。

随着以太坊的带动,很多链开始采用go。从开发效率和跨平台能力来看,go还是非常适合做底层网络应用开发的。go语言经过google的多年发展,也足够成熟。以太坊的榜样力量非常强大,后续很多链都采用go来做,特别是在联盟链领域,fabric是go,很多国内仿fabirc的也是go。它一跃成为最主流的底层链开发语言。

还不得不提另外一门比较偏的语言Rust,大神GavinWood以一己之力,把Rust语言引进到区块链。

GavinWood就是上面这位老兄。最早用Rust写了以太坊底层链Parity,后来又用在知名跨链项目波卡(Polkadot)。波卡的底层框架Substrate,能一键发链,NB的不行。所以,很多人开始学习Rust语言,这门语言入门门槛极高。

当然,还有链用Java搞,比如波卡,C#也不能少,比如NEO,但这些不是主流。

再说DApp开发什么是DApp,我2017年分享过一篇文章,可以看看

Reed:万字长文讲述DApp发展:迎接DApp大时代的到来?zhuanlan.zhihu.com不过通过对比下App就能看出来:

App=Fronted+ServerDApp=Fronted+Contracts所以,做应用开发的时候,需要前端,合约。其实有些逻辑还是需要Server,完全纯粹用合约取代所有的后端基本上是些很简单的应用。复杂一点的,还是需要Server。明白这个之后,应用开发用什么语言就不难讲。

首先是传统App开发的那一套,可以是H5,也可以是Native。至于后端语言,就什么熟悉用什么,世界上最好的语言PHP,Node.js,Go,Python,Java都可以。

重点说说合约语言。

存世最多的合约,当属基于以太坊的Solidity。这门语言跟Java这种有点像,入门不难,但涉及比较在换一个新的执行环境下,有些约束。需要甚至的时候,安全至关重要,很多现存示例代码可能存在安全遗憾,Ctrl+C,Ctrl+V的时候要慎重。

另外就是EOS链中的合约,都是C++写的,用了很多C++的高级特性,写的有点别扭,同样存在一些安全隐患,参考一些网上代码要小心,别被人薅羊毛。

另外还有用JavaScript,Lua学合约的。这些就看链的底层合约执行引擎用的什么。Cocos-BCX作为游戏方向的公链,为了服务游戏开发者,直接用Lua写合约就好,还是非常方便的。

最后,至于开发工具,是基本上是VSCode+N个插件,搭建所有的开发环境。合约麻烦点,需要相应的发布,调试环境,但各家都有解决方案,具体可以去查一查。

大概就这些,希望能有所帮助:)编辑于2020-03-0710:27:17区块链也疯狂让更多人了解区块链0人赞同了该回答区块链底层的实现对语言没有要求,但现在比较流行的是go和c++。

编辑于2020/3/518:38:56沈济超爱聊天,爱胡扯0人赞同了该回答建议题主先简单了解下区块链,选定这个具体平台和方向方向再提问。

编辑于2020/3/622:14:21

广告位

热心评论

评论列表