摘要:本書原名《Nodejs開(kāi)發(fā)加密貨幣》赏酥,大部分已經(jīng)通過(guò)網(wǎng)絡(luò)免費(fèi)分享(網(wǎng)絡(luò)上仍有原文)赖淤,正式出版的時(shí)候改成了現(xiàn)在的名字,部分章節(jié)也做了調(diào)整师郑。寫作本書的時(shí)候环葵,“區(qū)塊鏈”這個(gè)稱呼并不流行调窍,但討論的內(nèi)容實(shí)際上就是區(qū)塊鏈技術(shù)宝冕。
前 言
本書原名《Nodejs開(kāi)發(fā)加密貨幣》,大部分已經(jīng)通過(guò)網(wǎng)絡(luò)免費(fèi)分享(網(wǎng)絡(luò)上仍有原文)邓萨,正式出版的時(shí)候改成了現(xiàn)在的名字地梨,部分章節(jié)也做了調(diào)整。寫作本書的時(shí)候缔恳,“區(qū)塊鏈”這個(gè)稱呼并不流行宝剖,但討論的內(nèi)容實(shí)際上就是區(qū)塊鏈技術(shù)。就在本書整理出版的時(shí)候歉甚,國(guó)家發(fā)布了《中國(guó)區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書》万细,整個(gè)社區(qū)也接納了“區(qū)塊鏈”這個(gè)稱謂,因此改為現(xiàn)在的名字纸泄。
“每一件與眾不同的絕世好東西赖钞,其實(shí)都是以無(wú)比寂寞的勤奮為前提的腰素,要么是血,要么是汗雪营,要么是大把大把的曼妙青春好時(shí)光”弓千。這是一位文筆非常好的朋友大學(xué)畢業(yè)后給我的留言。每每讀到這句話献起,總能被感動(dòng)洋访。后來(lái),與那位朋友聊天谴餐,我說(shuō)你真有才姻政,能把一句話說(shuō)到人的內(nèi)心深處,我若不是因?yàn)槭悄腥似裆ぃ欢烂赖乜抟粓?chǎng)扶歪。他一聽(tīng),十分感慨摄闸,告訴我他也是摘抄來(lái)的善镰,還說(shuō)只有經(jīng)歷過(guò),才能被感動(dòng)年枕。
工匠精神人人推崇炫欺,但不是人人都能做到,環(huán)境往往起到了很大的作用熏兄。還是我的那位朋友品洛,剛畢業(yè)的時(shí)候,他去了某機(jī)關(guān)報(bào)社摩桶,最初當(dāng)記者桥状,待遇優(yōu)厚,后來(lái)做編輯硝清,自在逍遙辅斟。這中間,他還經(jīng)常寫寫書芦拿,一年下來(lái)士飒,僅僅版稅收入也非常可觀蔗崎。但是酵幕,最近幾年好像不太好了,有一次聊天明顯感覺(jué)到他的消極缓苛,問(wèn)他怎么了芳撒,他說(shuō)互聯(lián)網(wǎng)搶了他們的飯碗。我說(shuō),那你就搶回來(lái)吧笔刹,化敵為友庐完,借助互聯(lián)網(wǎng)掙更多錢。他說(shuō)試過(guò)了徘熔,沒(méi)那么簡(jiǎn)單门躯,幾大文學(xué)網(wǎng)站,那么多作者酷师,真正掙到錢的沒(méi)有幾個(gè)讶凉。偶爾火起來(lái)了,大部分都被平臺(tái)分去了山孔,有的甚至連版權(quán)都得不到懂讯。加之盜版猖獗,基本入不敷出台颠。
聽(tīng)著他的話褐望,我始終沉默,當(dāng)初我也想不到出路串前,時(shí)代變遷瘫里,誰(shuí)都無(wú)法阻攔。但是荡碾,這兩年我有了方向谨读,找到了可以徹底解決的辦法,這也是我堅(jiān)持分享這本書的內(nèi)在動(dòng)力坛吁。軟件是給人用的劳殖,開(kāi)發(fā)者首先想到的自然是身邊人,這是再正常不過(guò)的道理拨脉。這位朋友的問(wèn)題就是億書誕生的初衷哆姻,沒(méi)有任何離奇的故事,都是滿滿的生活小節(jié)玫膀,這多少也有點(diǎn)工匠精神的情結(jié)吧矛缨。
當(dāng)主動(dòng)往版權(quán)保護(hù)和寫作分享發(fā)力的時(shí)候,資源就源源不斷地聚集到了我的面前匆骗。億書劳景,這個(gè)去中心化的版權(quán)保護(hù)和知識(shí)直銷系統(tǒng)(自出版平臺(tái))的操作過(guò)程大致是這樣的:在經(jīng)過(guò)一段時(shí)間的技術(shù)探索之后,2015年碉就,我把關(guān)于打造電子書版權(quán)保護(hù)項(xiàng)目的想法在網(wǎng)上和盤托出,吸引了很多小伙伴的關(guān)注闷串,同時(shí)也證明了想法的可行性瓮钥。接著,我用行動(dòng)實(shí)踐電子書寫作和分享的全過(guò)程,并把億書這個(gè)項(xiàng)目的真實(shí)源碼作為分享的主要內(nèi)容碉熄,邊分享邊開(kāi)發(fā)桨武,邊打造團(tuán)隊(duì),這中間提交了多個(gè)開(kāi)源代碼(本書多個(gè)實(shí)例便是其中一部分)锈津。讀者越來(lái)越多呀酸,團(tuán)隊(duì)日益壯大,仍有很多小伙伴在了解琼梆、考察和熟悉中性誉。接下來(lái),待億書正式發(fā)布茎杂,就可以用億書(軟件)來(lái)繼續(xù)分享億書(源碼)了错览。這就像C/C++這樣的編程語(yǔ)言可以用來(lái)開(kāi)發(fā)自己,開(kāi)發(fā)者也是使用者煌往,自身不斷循環(huán)完善倾哺。
億書,以價(jià)值傳播為目標(biāo)刽脖,定位在協(xié)同創(chuàng)作和版權(quán)保護(hù)羞海,從底層區(qū)塊鏈版權(quán)協(xié)議到頂層客戶端應(yīng)用,完全自主開(kāi)發(fā)曲管,是國(guó)內(nèi)少有的不依賴于比特幣扣猫、以太坊等國(guó)外第三方平臺(tái)的產(chǎn)品。新版產(chǎn)品提供了強(qiáng)大的擴(kuò)展開(kāi)發(fā)能力翘地,基于億書可輕松開(kāi)發(fā)很多類型的去中心化應(yīng)用申尤,比如數(shù)字資產(chǎn)管理、財(cái)務(wù)結(jié)算與審計(jì)衙耕、交易存證與監(jiān)控昧穿、電子商務(wù)、視頻直播等橙喘。這仍然是從基礎(chǔ)需求起步时鸵,步步搭建積木的思路和過(guò)程,與我通過(guò)寫作本書體驗(yàn)產(chǎn)品需求厅瞎,然后發(fā)展億書的思路一樣饰潜。這是工程學(xué)的基礎(chǔ),再厲害的天才也無(wú)法逾越和簸。
億書注定要成為價(jià)值傳播領(lǐng)導(dǎo)者彭雾,開(kāi)啟數(shù)字出版新時(shí)代。
這是本什么樣的書锁保?
億書是完全開(kāi)放開(kāi)源的項(xiàng)目薯酝,是一個(gè)完整的類比特幣的區(qū)塊鏈產(chǎn)品半沽。本書基于該項(xiàng)目,完全以實(shí)用為目的吴菠,將開(kāi)發(fā)實(shí)踐貫穿始終者填,內(nèi)容涉及開(kāi)發(fā)區(qū)塊鏈產(chǎn)品前端、后臺(tái)和桌面應(yīng)用的全過(guò)程做葵。本書用開(kāi)發(fā)的思維進(jìn)行反復(fù)迭代占哟,由淺入深,詳細(xì)介紹了區(qū)塊鏈技術(shù)相關(guān)理論知識(shí)酿矢、Node.js前后臺(tái)開(kāi)發(fā)基礎(chǔ)知識(shí)榨乎、加密簽名技術(shù)、P2P網(wǎng)絡(luò)實(shí)現(xiàn)棠涮、共識(shí)算法等谬哀,能幫助初學(xué)者快速學(xué)習(xí)入門區(qū)塊鏈技術(shù),深入掌握Node.js編程開(kāi)發(fā)技術(shù)严肪,幫助區(qū)塊鏈技術(shù)從業(yè)者史煎、Web開(kāi)發(fā)者更深刻地理解相關(guān)概念和技術(shù)實(shí)現(xiàn)。
想找到關(guān)于如何開(kāi)發(fā)一款真正的區(qū)塊鏈產(chǎn)品(不只是調(diào)用某款加密貨幣API)的圖書嗎驳糯?這可能是目前世界上第一本篇梭,也可能是唯一的一本。
想找到關(guān)于Node.js大型實(shí)踐項(xiàng)目的圖書嗎酝枢?這可能是世界上少有的一本恬偷,也可能找不到第二本。
想找到億書帘睦、Lisk等基于Crypti的分支項(xiàng)目的詳細(xì)開(kāi)發(fā)文檔嗎袍患?這一定是世界上唯一的一本。
想深刻了解區(qū)塊鏈的技術(shù)實(shí)現(xiàn)嗎竣付?看看本書诡延,對(duì)于區(qū)塊鏈、共識(shí)機(jī)制等各種概念的理解將會(huì)更加透徹古胆。
想從事區(qū)塊鏈(無(wú)論是比特幣還是其他各類競(jìng)爭(zhēng)幣)的開(kāi)發(fā)嗎肆良?Node.js一定是無(wú)法回避的,這本書也必然無(wú)法錯(cuò)過(guò)逸绎。
想了解比特幣的原理嗎惹恃?這本書不僅告訴你其原理是什么,還會(huì)從技術(shù)的角度告訴你為什么棺牧,無(wú)論你是做技術(shù)還是做管理巫糙,本書都值得參考。
本書面向的讀者
開(kāi)發(fā)人員陨帆。本書涉及前端曲秉、后臺(tái)的方方面面采蚀,無(wú)論是前端開(kāi)發(fā)人員疲牵,還是后臺(tái)開(kāi)發(fā)者都可以學(xué)習(xí)參考承二。
架構(gòu)師。區(qū)塊鏈本身是分布式纲爸、云計(jì)算的典范亥鸠,本書詳細(xì)描述了一款區(qū)塊鏈產(chǎn)品的架構(gòu)設(shè)計(jì),他們可以通過(guò)本書學(xué)習(xí)掌握區(qū)塊鏈?zhǔn)侨绾位赑2P網(wǎng)絡(luò)構(gòu)建復(fù)雜的自適應(yīng)系統(tǒng)的识啦。
高校學(xué)生负蚊、教師、科研人員等颓哮。本書內(nèi)容在網(wǎng)絡(luò)上分享的過(guò)程中家妆,已經(jīng)有大學(xué)老師作為教參用在實(shí)際教學(xué)之中,本書從概念到代碼實(shí)現(xiàn)冕茅,理論與實(shí)踐結(jié)合緊密伤极,深入淺出,適合系統(tǒng)研究學(xué)習(xí)區(qū)塊鏈技術(shù)姨伤。
學(xué)習(xí)Node.js的讀者哨坪。本書介紹了Node.js入門知識(shí),包含了Node.js的技術(shù)原理和使用技巧乍楚,是一個(gè)完整的Node.js使用案例当编,有一定JavaScript基礎(chǔ)的初中級(jí)讀者,通過(guò)本書可以更深入的學(xué)習(xí)提高使用Node.js編碼技能徒溪。
投資人忿偷,以及對(duì)比特幣等區(qū)塊鏈產(chǎn)品感興趣的普通用戶。本書力求語(yǔ)言樸實(shí)臊泌,書寫過(guò)程中盡量避免晦澀的技術(shù)術(shù)語(yǔ)鲤桥,在具體的編碼之前,都要詳細(xì)介紹相關(guān)概念缺虐,因此投資人和普通讀者也可作為科普讀物芜壁,從技術(shù)層面對(duì)加密貨幣等區(qū)塊鏈相關(guān)產(chǎn)品有更進(jìn)一步的認(rèn)識(shí)。
本書內(nèi)容
本書力圖用最少的篇幅表述更豐富的內(nèi)容高氮,共分為五個(gè)部分慧妄,具體結(jié)構(gòu)如下。
第一部分:了解區(qū)塊鏈剪芍,共4章塞淹。詳細(xì)講述了區(qū)塊鏈產(chǎn)品——加密貨幣的相關(guān)概念,用獨(dú)特的技術(shù)視角罪裹,把加密貨幣的基本技術(shù)要素串聯(lián)起來(lái)饱普,同時(shí)在文中自然引導(dǎo)讀者跳轉(zhuǎn)閱讀下面各個(gè)部分运挫,實(shí)現(xiàn)理論到實(shí)踐的過(guò)渡。
第二部分:Node.js入門指南套耕,共4章谁帕。詳細(xì)介紹了Node.js入門知識(shí),并通過(guò)一個(gè)具體項(xiàng)目完成對(duì)Node.js在區(qū)塊鏈技術(shù)領(lǐng)域的調(diào)查和描述冯袍,整個(gè)部分也是項(xiàng)目架構(gòu)設(shè)計(jì)必備的調(diào)研和技術(shù)選型階段匈挖,是本書第一個(gè)完整的實(shí)踐范例。
第三部分:源碼解讀康愤,共9章儡循。從架構(gòu)設(shè)計(jì)的角度,層層剖析區(qū)塊鏈的設(shè)計(jì)原理征冷,深刻解讀相關(guān)概念和技術(shù)择膝。從項(xiàng)目設(shè)計(jì)的角度謀篇,第9章詳細(xì)介紹了億書白皮書的核心內(nèi)容检激,明確了項(xiàng)目的需求肴捉,教讀者如何著手研究區(qū)塊鏈產(chǎn)品;第10章從項(xiàng)目入口程序出發(fā)呵扛,介紹了億書項(xiàng)目的整體結(jié)構(gòu)每庆;第11~17章分別介紹了P2P網(wǎng)絡(luò)、加密解密今穿、簽名和多重簽名缤灵、區(qū)塊鏈、共識(shí)機(jī)制等區(qū)塊鏈核心內(nèi)容蓝晒,并給出了代碼實(shí)現(xiàn)腮出。
第四部分:開(kāi)發(fā)實(shí)踐,共9章芝薇。主要是對(duì)第二和第三部分的有益補(bǔ)充胚嘲,把在這兩個(gè)部分出現(xiàn)的技術(shù)難點(diǎn)抽取出來(lái),集中介紹洛二。仍然以億書項(xiàng)目中涉及的實(shí)際項(xiàng)目為主馋劈,包含多個(gè)完整獨(dú)立的小項(xiàng)目。第18~19章主要介紹了函數(shù)式編程等編程方法論晾嘶;第20章妓雾,介紹了命令行工具的開(kāi)發(fā)(含開(kāi)源實(shí)例);第21章總結(jié)了aysnc的用法垒迂,解決了Node.js回調(diào)流程控制問(wèn)題械姻;第22~23章介紹了億書官方網(wǎng)站的開(kāi)發(fā),對(duì)市面上的靜態(tài)網(wǎng)站進(jìn)行了總結(jié)机断,通過(guò)兩個(gè)實(shí)例詳細(xì)介紹了客戶端的開(kāi)發(fā)設(shè)計(jì)楷拳;第24章詳細(xì)介紹了密碼學(xué)技術(shù)绣夺;第25章介紹了時(shí)間戳、數(shù)據(jù)計(jì)算等更加細(xì)致的優(yōu)化內(nèi)容欢揖;第26章介紹了測(cè)試技術(shù)陶耍。
第五部分:附錄。匯總了區(qū)塊鏈的相關(guān)概念浸颓、常見(jiàn)詞匯的中英文對(duì)照等內(nèi)容物臂。