當前位置: 華文星空 > 財經

為何區塊鏈崗位主要是go,而不是java?

2018-01-15財經

周末剛好查資料找到了區塊鏈的一些資料,也算和題主說的Go語言相關,就來寫一寫。

我們都知道go語言是2009年剛剛被發釋出的一門新語言。我看了其他的答案,大家也都說出了go語言本身的機制方面的優勢和特點,比如說:天生支持並行。而且采用協程來實作高並行,效果還很好。另外一點就是Go適合做分布式系統開發。

我這裏就給大家補充一個新的證據,或者說案例,是我周末查資料剛剛了解到的。

了解區塊鏈的人,大概都知道市值占比第二的是以太坊,目前來看仍然是公鏈裏面受關註最多的,市場影響力也遠超其他公鏈。這是目前的情況,我們再去了解下以太坊的歷史。

2013年,V神提出了以太坊的白皮書。在釋出白皮書不久之後,就開始有專門的全職開發者進行開發了。

2014年的4月,釋出了以太坊技術黃皮書,這是具體闡述以太坊內部技術細節的聖經。在黃皮書中,就說明了這樣一件事,以太坊客戶端支持7中程式語言,包括:C++、Go、Python、Java、JavaScript、Haskell、Rust等。我們可以看到,Go語言版本排在第二位。

隨後在2014年發起了眾籌,成功募集超過1800萬美金。此時團隊正在開發測試版本,並不斷的釋出測試版本在社群裏面進行測試。

後續的The DAO事件,以太坊受攻擊等事件我們就省略不說了。

回到現在,搭建過以太坊環境的技術開發者都知道以太坊的官方程式是geth,這個名字其實就是go-ethereum的縮寫,也正是前面提到的go語言版本的以太坊客戶端。

這足以說明,go語言或者go版本開發團隊的出色表現,贏得了該有的認可。而區塊鏈系統本身就是分布式系統,這似乎是我們前面結論的一個佐證吧。

另外,題主問為什麽現在很多區塊鏈用go,其實還有一個原因。和以太坊也有關。

那就是,因為17年的愛惜歐模式讓以太坊徹底火了,然後就出來了各種公鏈方案和公鏈團隊。在進行技術選型和實作過程中,很多團隊都是以以太坊為原型,提出方案進行修改。這個時候,就要在以太坊程式碼的基礎上進行修改了,也就是go-etherum版本的程式碼。那使用go語言的區塊鏈計畫或者團隊多了也就自然可以理解了嘛。

其實,我們可以看到fabric也有各種語言的sdk,包括java,node,python,go等。其中,我們也看到了go語言。

總之,我們可以發現,區塊鏈計畫中使用go語言確實是不爭的事實。這其中的原因既有go語言本身的特點和特性,又有現實的的因素。