區塊鏈技術開發路線

〇、背景陳述:  

  已經對區塊鏈領域的學習研究了一段時間。整體來講,前期主要是圍繞bitcoin架構及其源碼學習的,但對這個領域的技術開發仍是不太熟悉。爲了使本身對區塊鏈領域有一個系統的學習和技術錘鍊,特此總結了以下技術開發路線,來逐漸充實本身的區塊鏈開發知識體系。docker

  這篇博文主要是對以後的技術開發路線作一個清晰的規劃。編程

  對於一個古典互聯網人如何進入區塊鏈呢?我以爲比較現實的有兩種姿式。  數組

  

  一種是信仰,說實話,當前階段不炒幣來作區塊鏈特別是公鏈的人,那真的須要信仰啊,公鏈要技術上能投入實用,要把生態創建起來須要很長的過程,能耐住性子,經歷創業九死一輩子,那不是信仰又是什麼呢?這樣的人值得尊敬,由於他們推進了真正的技術進步。安全

  另外一種是實用,深圳前不久開出了第一張基於區塊鏈的發票,如今要想作聯盟鏈相關 的項目,其實真的機會不少,技術也相對的成熟,作作項目養家餬口很實際啊,這裏區塊鏈跟其它技術沒什麼兩樣。網絡

  做爲一名比較務實的技術開發人員,爲了謀生而將主要精力放在Hyperledger Fabric(聯盟鏈)的開發上,是一個比較穩健的選擇。可是對於區塊鏈的鼻祖——比特幣的學習,我認爲又是不可或缺的。比特幣至關於公鏈,相對於以太坊來講,比特幣是屬於比較早期的區塊鏈。咱們學習比特幣主要在於對區塊鏈的經典技術原理有一個較全面的認識和積累。架構

  而之因此不選擇以太坊,主要是我認爲以太坊做爲一個系統比較複雜的公鏈系統,其技術仍舊不太穩定、仍處於不斷完善之中。Solidity編寫智能合約,其底層也存在不少漏洞,因此學習該技術仍是存在一些風險的。不過感興趣的開發人員,能夠學習下以太坊技術的原理及相關架構,也會受益良多。工具

  因此下邊,我針對公鏈-比特幣聯盟鏈-Hyperledger Fabric提出本身的技術學習路線。學習

1、公鏈-比特幣的學習:

學習目標:主要針對比特幣的相關技術進行學習研究,對其原理及實現方法全面掌握區塊鏈

1. 深刻學習比特幣的白皮書。對其技術及原理有全面的瞭解,並針對其中提到的技術進行深刻學習。測試

2. 搭建測試網絡,對比特幣系統進行測試。

3. 比特幣源碼學習。比特幣源碼有多個版本,開始本身看了一部分的C版,可是後來的Hyperledger Fabric要用到GO語言寫鏈碼(智能合約)。因此準備以後學習GO版本源碼。對其技術架構及技術實現,進行深刻學習,並徹底掌握!

  完成以上目標,我以爲對於經典的區塊鏈系統學習已經夠了。

2、聯盟鏈-Hyperledger Fabric學習:

學習目標:掌握其技術架構和對核心模塊的理解;掌握智能合約編寫;對官方提供的學習實例進行深刻學習並掌握;掌握應用的技術開發;其中用到的工具語言最好可以作到精通!

1.工具語言的學習:

  1)go語言,Fabric、docker等可能是基於go語言開發。Bitcoin如今也有了go語言版源碼。因此掌握該語言,可以幫助咱們閱讀這些技術的源碼,還能夠幫助咱們進行智能合約開發。GO語言有簡潔,快速,安全,並行,有趣,開源,支持泛型編程,內存管理,數組安全,編譯速等特色。有點語言基礎,很容易掌握。

  我用了一天時間對該語言的基本語言進行了快速學習,基本上就對這門語言有了瞭解。以後確定是須要深刻學習的,咱們能夠藉助Github上一些技術文檔進行學習。爭取精通這門語言。

  2)Java、Node.js、Python等。這些語言主要是在開發應用程序時,對chaincode(鏈碼/智能合約)進行調用,並且都有與之匹配的SDK。因此語言能夠本身選擇。由於不少應用是基於Web端的,因此Node.js用得較多。固然若是僅僅作測試及學習,並非徹底爲了商業項目,已掌握的Python與Java也是不錯的選擇。

2.Hyperledger架構及核心模塊學習:

  1)仔細閱讀白皮書。瞭解其技術原理;其中的關鍵術語也要深刻理解掌握。

  2)對Fabric核心模塊進行學習。

  3)核心源碼學習。這是咱們技術實現提高、可以深刻理解其技術實現的關鍵。

3.技術開發學習:

  1)chaincode學習。學習編寫智能合約。多讀源碼、多練習。

  2)應用開發。主要是經過本身其餘語言工具調用智能合約進行技術開發。Fabric模塊的Grpc接口能夠被任何語言調用。可是若是一切從底層開始實現的話,這樣的開發效率是很是低的。目前 Hyperledger項目組已提供的基於Nodejs、Java、Go、Python這四種語言的SDK,這些SDK對Fabric經常使用操做進行了封裝,已大大簡化了開發工做。

4.相關項目源碼學習:

  已經學會了上述開發流程,咱們最好在Github上尋找些開源項目進行學習並提高。

3、公鏈-以太坊的學習:

學習目標:這部分的學習,我認爲對於咱們想從事聯盟鏈開發的技術人員來講,主要是爲了瞭解其技術架構、對其核心模塊有一個大概瞭解,以助於咱們對於整個區塊鏈技術的瞭解。我以爲作到這個地步就夠了。

 


【時間倉促,若有錯誤,歡迎指正! ||   歡迎一塊兒學習交流, 請在評論區留言!

【本做品採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。】

【轉載請聯繫博主,贊成後務必註明出處:http://www.cnblogs.com/X-knight/

相關文章
相關標籤/搜索