區塊鍊術涉及面很廣,很多開發人員看了一些資料後,感覺似懂非懂。
如何系統的學習區塊鍊技術,是很多想從事區塊鍊開發的程式員的疑問,本文内容有點多,一次吸收不完可以收藏以後再用。
苦口婆心寫在前面:
從事區塊鍊開發有很多方向,如:區塊鍊應用開發人員、區塊鍊架構師、底層核心開發、共識算法研究等等。
方向不同,需要學習的内容就不一樣,如果基于區塊鍊應用開發,隻需要了解一門程式設計語言(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
如果你耐心的讀到了此處,深深感謝你對我的時間的尊重!