如何成為一個(gè)優(yōu)秀的區(qū)塊鏈架構(gòu)師
有大量關(guān)于區(qū)塊鏈的信息和宣傳,如果不這樣做,隨著生態(tài)系統(tǒng)以驚人的速度發(fā)展,區(qū)塊鏈很快就會(huì)過時(shí)。在這篇文章中,我詳細(xì)描述了我正在進(jìn)行的成為區(qū)塊鏈架構(gòu)師的旅程,這對任何想要沿著這條路走下去的人都有好處。
我不害怕風(fēng)暴,因?yàn)槲艺趯W(xué)習(xí)如何駕駛我的船。這篇文章是寫給誰的?
這篇文章是為那些想進(jìn)入?yún)^(qū)塊鏈的人準(zhǔn)備的。特別強(qiáng)調(diào)那些想要進(jìn)入架構(gòu)師角色的人,因此需要理解所有的理論,但是實(shí)際上不需要對任何東西有深入的了解。作為架構(gòu)師,您應(yīng)該知道如何在需要時(shí)從專家那里獲得正確的知識。
我花了84小時(shí)來執(zhí)行本文中的步驟,這是關(guān)于AWS解決方案架構(gòu)師助理認(rèn)證所需的承諾。您可以將此作為您自己培訓(xùn)的起點(diǎn),然后深入您自己的角色需要的主題。
這是誰寫的?
我的背景是:作為一名金融公司高性能計(jì)算方面的專家。最近,我去了一些國家,發(fā)現(xiàn)自己相對于當(dāng)?shù)匦枨鬄榱愕募夹g(shù)堆棧而言,我還是擁有高度專業(yè)的知識的。我認(rèn)為最簡單的方法是在純管理或售前崗位上增加一倍的軟技能。然而,一些人提出讓我放棄過安全而無聊的生活的想法,并把我叫上了區(qū)塊鏈的火車。
我最初的任務(wù)是訓(xùn)練自己使用區(qū)塊鏈技術(shù),這樣我以后就可以為開發(fā)人員和業(yè)務(wù)干系人提供建議——就像我在高性能計(jì)算方面所做的那樣。
不用說,我上了這條船了。我從TechHQ的新同事那里得到了很好的指導(dǎo),現(xiàn)在我正在打算把它傳遞出去。
那我應(yīng)該學(xué)什么呢?
考慮到這個(gè)領(lǐng)域的發(fā)展速度,區(qū)塊鏈的文章在三個(gè)月左右就會(huì)過時(shí),但是我仍然推薦Haseeb Qureshi的權(quán)威區(qū)塊鏈開發(fā)指南作為起點(diǎn)。這篇文章是一篇真正的力作,塞爾吉奧·佩雷拉(Sergio Pereira)指出這是開始的最佳方式。您可以忽略我文章的其余部分,直接跳到Haseeb,這樣就可以了。
如果你繼續(xù)閱讀(謝謝?。┪覍⒔o出我所遵循的10個(gè)步驟,并估計(jì)每一個(gè)步驟花費(fèi)的所需時(shí)間。
實(shí)現(xiàn)一個(gè)python區(qū)塊鏈:20小時(shí)。這是一個(gè)有趣的練習(xí),我想說的是,如果以后你想理解和應(yīng)用區(qū)塊鏈與數(shù)據(jù)庫的不同之處,那么了解區(qū)塊鏈在數(shù)據(jù)結(jié)構(gòu)層次上如何工作是很重要的。我只是做了數(shù)據(jù)結(jié)構(gòu)和工作量證明挖掘過程來創(chuàng)建塊。向區(qū)塊鏈添加應(yīng)用程序數(shù)據(jù)很簡單,在此階段不需要實(shí)現(xiàn)共識算法。
Cryptozombies.io: 8小時(shí)。很好的介紹了堅(jiān)實(shí)的編碼和最佳實(shí)踐方式。與JavaScript非常相似,您可能會(huì)開始懷疑是否要立即編寫可靠的任務(wù)關(guān)鍵型軟件。
Remix / remixd / git: 4小時(shí)。Remix是一個(gè)很好的入門IDE,特別是如果您打算更多地停留在后端,并且不愿意學(xué)習(xí)javascript。我發(fā)現(xiàn)將remix與筆記本電腦中的本地文件夾連接起來比較容易,這樣我就可以使用Git了。
以太坊眾籌教程: 4小時(shí)。此時(shí),我覺得我可以在沒有幫助的情況下穩(wěn)定地編寫代碼,即使知道它的質(zhì)量不高。
閱讀ICO白皮書:8小時(shí)。作為一種消遣,我閱讀了一堆基于區(qū)塊鏈應(yīng)用程序的白皮書,以了解用例和社區(qū)中正在發(fā)生的事情。我有一種感覺,有些人想要解決現(xiàn)實(shí)世界的問題,有些人想要一大筆錢,有些人想要摧毀資本主義,進(jìn)行革命。我確實(shí)看到了一些實(shí)際的用例。
最佳實(shí)踐:4小時(shí)。此時(shí),我已經(jīng)意識到智能合約是不可變的、公開的,所以我決定學(xué)習(xí)一些最佳實(shí)踐,以避免自己在未來陷入尷尬境地,同時(shí)又不會(huì)從客戶那里損失數(shù)百萬美元。Cryptozombies.iotutorial提供了很多很好的建議,OpenZeppelin審計(jì)非常值得一讀,而來自consensus sys的最佳實(shí)踐文檔是相當(dāng)?shù)慕?jīng)典。
crowdfund單元測試:12小時(shí)。Truffle 允許進(jìn)行單元測試,我對此很感興趣。通過創(chuàng)建它們,我確實(shí)學(xué)到了很多有用的東西,足以減輕我的開發(fā)培訓(xùn),并繼續(xù)研究存在哪些區(qū)塊鏈實(shí)現(xiàn),以及它們之間如何進(jìn)行比較。
創(chuàng)建 parity校驗(yàn)環(huán)境:12小時(shí)。以太坊是目前領(lǐng)先的區(qū)塊鏈平臺,我被指示使用 parity校驗(yàn)來創(chuàng)建聯(lián)盟網(wǎng)絡(luò),我們計(jì)劃在TechHQ中進(jìn)行廣泛使用。安裝 parity校驗(yàn)使我更好地理解了以太坊的生態(tài)系統(tǒng),而且即使現(xiàn)在你得到的都是Docker的圖片,你也不能期望它的用戶友好性。感覺就像在世紀(jì)之交安裝Linux一樣。
閱讀關(guān)于區(qū)塊鏈實(shí)現(xiàn)的文章: 8小時(shí)。此時(shí),我清楚地理解了區(qū)塊鏈實(shí)現(xiàn)(比特幣、以太坊、EOS)之間的區(qū)別。IO, Hyperledger, Corda,等等),它運(yùn)行在一個(gè)較低的層次,比你在ICO白皮書中看到的所有其他應(yīng)用都要低。通過對區(qū)塊鏈平臺的比較,我了解了公共實(shí)現(xiàn)和聯(lián)合實(shí)現(xiàn)的不同用例、如何確保隱私、什么是最終結(jié)果、性能如何取決于所選擇的共識算法以及用于構(gòu)建解決方案的不同選項(xiàng)的成熟度。
如果你看到了這里,恭喜你!現(xiàn)在你對區(qū)塊鏈有了足夠的了解,知道自己幾乎一無所知,也不要難過。
一些最后的想法
區(qū)塊鏈技術(shù)領(lǐng)域還很不成熟,學(xué)習(xí)曲線很短。幾個(gè)月堅(jiān)持不懈的努力就足以達(dá)到頂峰,即使在技術(shù)穩(wěn)定下來的時(shí)候,你也必須進(jìn)行快速學(xué)習(xí)。
您應(yīng)該集中學(xué)習(xí)區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)的特殊之處,如何編寫智能合約,以及協(xié)商共識算法對您區(qū)塊鏈網(wǎng)絡(luò)的影響,以便為您的客戶提供有價(jià)值的建議。
一個(gè)使用區(qū)塊鏈的架構(gòu)良好的解決方案將有90%的代碼用一個(gè)普通的技術(shù)棧完成,并且智能合約的復(fù)雜性將是最小的。目前的區(qū)塊鏈版本是非常不成熟的,目前還不清楚從現(xiàn)在開始的兩年內(nèi)將使用哪種語言來編寫智能合約。如果可以的話,我希望能用python來做。
在區(qū)塊鏈實(shí)現(xiàn)之間有一場激烈的爭奪?,F(xiàn)在還沒有一家企業(yè)足夠成熟,但如果你打算擁有先發(fā)優(yōu)勢,你就需要關(guān)注于這一點(diǎn)。
我非常高興我選擇了這條道路,能夠成為這樣一個(gè)充滿活力的環(huán)境的一部分,能夠解決基本問題,這真的很令人興奮。
來源;區(qū)塊網(wǎng)