天天看點

如何系統學習區塊鍊技術-幹貨來襲

區塊鍊術涉及面很廣,很多開發人員看了一些資料後,感覺似懂非懂。

如何系統的學習區塊鍊技術,是很多想從事區塊鍊開發的程式員的疑問,本文内容有點多,一次吸收不完可以收藏以後再用。

苦口婆心寫在前面:

從事區塊鍊開發有很多方向,如:區塊鍊應用開發人員、區塊鍊架構師、底層核心開發、共識算法研究等等。

方向不同,需要學習的内容就不一樣,如果基于區塊鍊應用開發,隻需要了解一門程式設計語言(nodejs, Go, Python, C++ 等), 大概了解區塊鍊的原理,不一定要深入,當然了解越深入開發就越順。

如果做區塊鍊基礎開發,就需要了解加密算法,P2P 通信,共識算法等等。

由于區塊鍊涉及的技術很多,可以先對各個技術有一個概念了解,再逐漸深入原理。

當你在學習了解概念的時候,必定會産生很多疑問, 例如我們經常可以看到一句: 比特币的共識機制是通過工作量證明(POW)來實作的。

就有了新疑問:什麼是工作量證明,進一步了解,它是通過驗證的一個特定結果,就能确認參與者完成了相應的工作量(不了解沒關系,可以簡單為,張三考試考了 100 分,就确認張三肯定好好學習了)。

這時又有了新的疑問,比特币在驗證什麼樣的結果,這時你又需要了解密碼學和 Hash。

逐漸深入的過程也是解答疑問的過程,需要我們善用 Google 搜尋。

如果覺得已經了解一個概念或原理時,可以嘗試動手實作它,如在了解挖礦後,可以寫代碼模拟挖礦過程。

學習是一個長期的過期,沒有捷徑,必須得多讀書,讀代碼,寫代碼。

塊鍊技術是随比特币誕生,是以要搞明白區塊鍊技術,應該先了解下比特币。

但區塊鍊技術不單應用于比特币,還有非常多的現實應用場景,想做區塊鍊應用開發,可進一步閱讀以太坊系列。

比特币

如果你是還不了解比特币,那就看看比特币是什麼

基礎入門

接下來可以通過下面這幾篇文章了解比特币大概的運作原理:

  • 區塊鍊記賬原理

    通過這篇可以了解到區塊鍊是一個怎樣的結構

  • 比特币所有權及隐私問題

    通過這篇可以了解到位址私鑰 非對稱加密應用 等概念

  • 比特币如何挖礦

    通過這篇了解工作量證明

  • 比特币如何達成共識 - 最長鍊的選擇

    通過這篇可以了解共識機制。

補充閱讀

  • 什麼是拜占庭将軍問題

進階

在基礎入門之後,可以進一步閱讀以下幾篇,了解分布式網絡,交易驗證。

  • 分析比特币網絡:一種去中心化、點對點的網絡架構
  • 比特币區塊結構 Merkle 樹及簡單支付驗證分析
  • 比特币腳本及交易分析 - 智能合約雛形

看完上面這些,區塊鍊應該了解差不多了,就可以嘗試實作一個簡單的區塊鍊了。參考這篇用Python從零開始建立區塊鍊。

以太坊

一個技術要落地還得靠應用, 以太坊就這樣一個建立在區塊鍊技術之上,去中心化的應用平台。可以閱讀幾下幾篇,這部分以開發為主,需要大家多發時間實踐。

  • 以太坊開發入門
  • 智能合約開發環境搭建及Hello World合約
  • 搭建智能合約開發環境Remix IDE及使用
  • 以太坊用戶端Geth指令用法-參數詳解
  • Geth控制台使用實戰及Web3.js使用
  • 如何搭建以太坊私有鍊
  • 深入淺出以太坊虛拟機

智能合約及應用開發

  • 完全了解以太坊智能合約
  • 程式員如何切入區塊鍊去中心化應用開發
  • 一步步教你開發、部署第一個Dapp應用
  • 一步步教你建立自己的數字貨币(代币)進行ICO
  • 實作一個可管理、增發、兌換、當機等進階功能的代币
  • 如何通過以太坊智能合約來進行衆籌(ICO)
  • 剖析非同質化代币ERC721–全面解析ERC721标準
  • Web3與智能合約互動實戰
  • Web3監聽合約事件
  • 如何編寫一個可更新的智能合約
  • 美鍊BEC合約漏洞技術分析

Solidity語言教程

全面學習Solidity語言可以購買圖書:精通以太坊智能合約

  • Solidity 教程系列1 - 類型介紹
  • Solidity 教程系列2 - 位址類型介紹
  • Solidity 教程系列3 - 函數類型介紹
  • Solidity 教程系列4 - 資料存儲位置分析
  • Solidity 教程系列5 - 數組介紹
  • Solidity 教程系列6 - 結構體與映射
  • Solidity 教程系列7 - 以太機關及時間機關
  • Solidity 教程系列8 - Solidity API
  • Solidity 教程系列9 - 錯誤處理
  • Solidity 教程系列10 - 完全了解函數修改器
  • Solidity 教程系列11 - 視圖函數、虛函數講解
  • Solidity 教程系列12 - 庫的使用
  • Solidity 教程系列13 - 函數調用
  • 智能合約最佳實踐 之 Solidity 編碼規範
  • 如何了解以太坊ABI - 應用程式二進制接口

區塊鍊擴容

  • 深入了解Plasma(一)Plasma 架構
  • 深入了解Plasma(二)Plasma 細節
  • 深入了解Plasma(三)Plasma MVP
  • 深入了解Plasma(四)Plasma Cash

錢包開發系列

  • 了解開發HD 錢包涉及的 BIP32、BIP44、BIP39
  • 以太坊錢包開發系列1 - 建立錢包賬号
  • 以太坊錢包開發系列2 - 賬号Keystore檔案導入導出
  • 以太坊錢包開發系列3 - 展示錢包資訊及發起簽名交易
  • 以太坊錢包開發系列4 - 發送Token(代币)

如可開發一款以太安卓錢包

  • 登鍊錢包(一款功能強大的以太坊錢包)完全開源
  • 如何開發一款以太坊(安卓)錢包系列1 - 通過助記詞建立賬号
  • 如何開發一款以太坊(安卓)錢包系列2 - 導入賬号及賬号管理
  • 如何開發一款以太坊安卓錢包系列3 - 資産資訊展示
  • 如何開發一款以太坊安卓錢包系列4 - 擷取以太及Token餘額
  • 如何開發一款以太坊安卓錢包系列5 - 發送轉賬交易

柚子EOS

  • 什麼是EOS

跨鍊研究

  • 跨鍊技術的分析和思考

IPFS

  • 站在Web3.0 了解IPFS是什麼
  • IPFS 使用入門

FileCoin

  • 1 filecoin概念
  • 2 filecoin通用語言了解
  • 3 filecoin開發網使用
  • 4 filecoin源碼頂層架構分析
  • 5 filecoin源碼協定層分析之心跳協定
  • 6 filecoin源碼協定層分析之hello握手協定
  • 7 filecoin源碼協定層分析之存儲協定
  • 8 filecoin源碼協定層分析之檢索協定
  • 9 filecoin源碼分析之支撐包分析(1)
  • 10 filecoin源碼分析之支撐包分析(2)
  • 11 filecoin源碼分析之内部接口層api包分析
  • 12 filecoin源碼分析之内部接口層plumbing&porcelain接口
  • 13 filecoin源碼分析之服務層actor及vm
  • 14 filecoin源碼分析之服務層鍊同步、共識協定及挖礦
  • 15 filecoin源碼分析之節點運作邏輯

其他

  • 了解去中心化 穩定币 DAI

推薦

點選系統學習區塊鍊技術,進入國内極少數的高品質區塊鍊技術部落格,不僅有大量免費幹貨,也輸出一些優質的付費内容,更有同時連結數千區塊鍊開發者的各種專項微信群,如有需要歡迎騷擾微信号upchainedu

如果你耐心的讀到了此處,深深感謝你對我的時間的尊重!

繼續閱讀