從零到1學(xué)習(xí)區(qū)塊鏈技術(shù),首先要分析以下3個問題民宿,搞清才能明確學(xué)習(xí)目的:
1娇妓,區(qū)塊鏈學(xué)什么?區(qū)塊鏈代表性平臺有哪些活鹰?
2哈恰,區(qū)塊鏈技術(shù)用哪種語言來實現(xiàn)只估?如何選擇
3,針對區(qū)塊鏈技術(shù)方面的小白從零到1開始學(xué)習(xí)的路線及對應(yīng)的書籍推薦着绷?
一蛔钙、區(qū)塊鏈學(xué)什么?區(qū)塊鏈代表性平臺有哪些荠医?
1:區(qū)塊鏈中的核心技術(shù)主要有5個
1)P2P網(wǎng)絡(luò):點對點交易吁脱,沒有中間方;
2)分布式存儲:所有節(jié)點信息統(tǒng)一彬向,交易不可篡改兼贡,修改一個節(jié)點信息,需要其他節(jié)點共同修改
3)加密算法:確保交易不可篡改娃胆、無法抵賴和破壞遍希,且保護(hù)了用戶隱私信息和交易記錄的信息安全。交易可追溯
4)共識算法(共識機制):實現(xiàn)自動網(wǎng)絡(luò)共識
5)智能合約:通過自動化腳本操作數(shù)據(jù)
2:目前區(qū)塊鏈代表性的平臺有:
● 比特幣 Bitcoin
● 以太坊 Ethereum
● 超級賬本Hyperledger
● EOS
二里烦、區(qū)塊鏈技術(shù)用哪種語言來實現(xiàn)孵班?如何選擇
區(qū)塊鏈本質(zhì)上是分布式去中心化的不可篡改的數(shù)據(jù)庫存儲技術(shù),是一門新的技術(shù)招驴;它本身不是一門語言篙程,需要語言這個工具去實現(xiàn),所以想學(xué)習(xí)區(qū)塊鏈必須選擇一門具體的適合它的語言别厘。
結(jié)論:不愿看以下過程可以直接看第4小點下面的結(jié)論虱饿。
1)、首先區(qū)塊鏈?zhǔn)且环N編程思想触趴,使用任何一種編程語言都可以實現(xiàn)氮发。比如:C++、Java冗懦、javascript爽冕、python、Go都可以實現(xiàn)開發(fā)區(qū)塊鏈披蕉。
2)颈畸、比特幣系統(tǒng)使用C++開發(fā)。我們學(xué)習(xí)比特幣系統(tǒng)目的是用來學(xué)習(xí)區(qū)塊鏈原理没讲,很難在比特幣系統(tǒng)上進(jìn)行繼續(xù)開發(fā)眯娱。學(xué)習(xí)比特幣原理時可以使用Java、javascript爬凑、python徙缴、Go任何一種語言。
3)嘁信、以太坊系統(tǒng)于样,官方推出了C++開發(fā)版本和Go開發(fā)版本疏叨。要在以太坊平臺上開發(fā)智能合約,官方建議使用Solididy語言穿剖,該語言類似Javascript蚤蔓。如果開發(fā)DApp,可以采用C++携御、Go、Python既绕、Java開發(fā)啄刹。
4)、超級賬本中的Fabric系統(tǒng)是用Go語言開發(fā)的凄贩。學(xué)習(xí)Fabric開發(fā)誓军,可以使用Go和Java語言。
綜上所述疲扎,學(xué)習(xí)區(qū)塊鏈開發(fā)建議建立在Go語言和javascript基礎(chǔ)上昵时。而Go語言的學(xué)習(xí)難度比Java略低。
為什么選擇或者說go的優(yōu)勢在哪里椒丧?這里簡單說幾點:
1)壹甥、出身名門、血統(tǒng)純正
Go語言由Unix之父肯.湯普森牽頭開發(fā)壶熏,而肯.湯普森在電腦工業(yè)史上具有極高的地位句柠;系出名門的Go語言吸取各家之所長,規(guī)避了各種讓大牛們所詬病的缺點棒假。語法簡潔好學(xué)溯职。語言穩(wěn)定性高
2)、Go語言在2007年9月才正式命名為Go帽哑,2012年3月才發(fā)布第一個正式版本谜酒。是一門非常新的語言;所以妻枕,競爭壓力小僻族,先人一步則高人一籌
3)Go語言短短五年時間,已經(jīng)成為2016年年度編程語言屡谐。在2018年5月的TIOBE語言排行榜上擠入前15名鹰贵,上升至第14位;
Go語言是目前項目轉(zhuǎn)型首選的語言康嘉,也是軟件工程師轉(zhuǎn)型首選的語言
Go語言被預(yù)測會成為未來編程語言的前三甲(Java碉输、C++、Go)
4)亭珍、Go語言是為了解決分布式計算敷钾,是云計算領(lǐng)域的新興語言枝哄。
而區(qū)塊鏈?zhǔn)堑湫偷姆植际綌?shù)據(jù)存儲系統(tǒng),使用Go語言是絕配阻荒;
5)挠锥、Go語言的編譯和運行速度在眾多編程語言中遙遙領(lǐng)先。Go語言中提供的豐富的標(biāo)準(zhǔn)庫侨赡,讓學(xué)習(xí)成本低于Java蓖租;
6)、Go最大的優(yōu)勢就是高并發(fā)羊壹。而這一點是目前主流的編程語言都望塵莫及的蓖宦。
區(qū)塊鏈一定要解決網(wǎng)絡(luò)高并發(fā)問題,所以正是看好這一點油猫,選擇了Go.
三稠茂、針對區(qū)塊鏈技術(shù)方面的小白從零到1開始學(xué)習(xí)的路線及對應(yīng)的書籍推薦?
先貼一張區(qū)塊鏈技術(shù)的學(xué)習(xí)路線圖情妖,不喜勿噴睬关!
1)go語言編程篇書籍參考:
《Go語言編程》
該書由人民郵電出版社出版,內(nèi)容是從最基礎(chǔ)的語法進(jìn)行講解毡证,對于初學(xué)者而言电爹,可以通過此書學(xué)習(xí)到Go 語言的語法特性,語法規(guī)則料睛,掌握基本的Go語言編程能力藐不。該書最大的特點就是在前幾章的基礎(chǔ)語法以后拄显,按照模塊進(jìn)行知識的講解超全,比如網(wǎng)絡(luò)編程,異常處理带斑,并發(fā)編程都獨自作為章節(jié)進(jìn)行闡述阱州。對于初學(xué)者而言挑秉,可以選擇好好看一看。
《Go Web編程》:該書是由外國人所著苔货,國內(nèi)為翻譯版犀概。本書的內(nèi)容是專門為Go語言的Web開發(fā)而寫。通過該書夜惭,能夠使之前沒有開發(fā)過Web項目的朋友積累web開發(fā)的技能姻灶,掌握Go語言Web開發(fā)的一些必要技能,這是對初學(xué)者而言诈茧。對于已經(jīng)有其他語言開發(fā)經(jīng)驗的朋友而言产喉,則可以快速掌握Beego、Gin、Iris等框架的使用和操作曾沈,封裝自己的工具庫等來實現(xiàn)Go Web開發(fā)技能的掌握和提升这嚣。此階段為應(yīng)用和掌握階段。
《Go并發(fā)編程實踐》:經(jīng)歷了上面的基礎(chǔ)和應(yīng)用階段塞俱,可以通過本書來進(jìn)行能力提升姐帚,作為進(jìn)階的書來看。這本書是開發(fā)者走向架構(gòu)師之路的級別的書障涯。
2)區(qū)塊鏈學(xué)習(xí)部分
《比特幣白皮書》:要學(xué)習(xí)區(qū)塊鏈知識罐旗,必繞不開比特幣。比特幣是區(qū)塊鏈技術(shù)到目前為止最典型最偉大的應(yīng)用唯蝶。對于每一位想要學(xué)習(xí)區(qū)塊鏈知識九秀,并進(jìn)行開發(fā)之路的人來說。至少要讀一讀比特幣白皮書生棍,看一看天神之作的出處颤霎。
《精通比特幣》:精通比特幣是一本英文書媳谁,是第一本在比特幣白皮書之后的一本書籍涂滴,該書系統(tǒng)介紹了比特幣的原理,比特幣的運行機制晴音,比特幣客戶端柔纵,私鑰生成的一系列的問題,是一本入門的好書锤躁。國內(nèi)有區(qū)塊鏈愛好者自發(fā)進(jìn)行的漢譯PDF版本搁料,有興趣的可以下載打印讀一讀,很有價值系羞。如果從鍛煉英文閱讀能力的角度郭计,最好還是讀原版吧。
《白話區(qū)塊鏈》:從名字就可以看出該書作者在書中近可能簡單椒振、白話式的對比特幣及區(qū)塊鏈專業(yè)術(shù)語和知識等做解釋說明昭伸。注意,此書為白話區(qū)塊鏈澎迎,有個公眾號也叫白話區(qū)塊鏈庐杨,兩者并不是同一個,這個需要注意區(qū)分開來夹供。
《區(qū)塊鏈開發(fā)指南》:同白話一樣灵份,對于比特幣,以太坊哮洽,聯(lián)盟鏈等涉及到的技術(shù)做了簡單的涉及和介紹填渠。內(nèi)容比較簡單,屬于基本概念入門級別。
《貨幣的非國家化》:該書是由哈耶克所著揭蜒,從經(jīng)濟(jì)學(xué)角度提出在貨幣領(lǐng)域也引入競爭機制横浑,讓貨幣通過競爭來最終角逐出最好的貨幣。該書并沒有中文正文出版屉更,只能在淘寶買到影印版徙融,對于理解去中心化,理解自由經(jīng)濟(jì)等內(nèi)容有一定幫助瑰谜。
入門的書籍就是上面的內(nèi)容吧欺冀。實際的理論學(xué)習(xí),代碼實現(xiàn)萨脑,還是要通過具體的討論和分析隐轩。要想進(jìn)一步的學(xué)習(xí)和提升,就需要詳細(xì)的對每一個項目進(jìn)行更深入的研究渤早,比如研究比特幣的源碼职车,以太坊的源碼等。具體到代碼層面的分析鹊杖,算法的實現(xiàn)悴灵,都是需要深入進(jìn)行研究的。
最后骂蓖,書籍太過枯燥了积瞒,免費的分享給大家區(qū)塊鏈視頻學(xué)習(xí)資料:區(qū)塊鏈免費教學(xué)視頻,在騰訊課堂上哈登下,進(jìn)入報名后直接可以學(xué)習(xí)下面的視頻茫孔,而且每周都有免費的區(qū)塊鏈教學(xué)直播課!1环肌缰贝!