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