你有很多理由喜歡Truffle的架構:
Truffle是一個以太坊的開發環境、測試框架以及資產傳輸通道。它的主要目標是讓以太坊開發者的生活變得更簡單。它也是以太坊社羣裡其一種應用得最廣泛的整體開發者環境(IDE)
自動化合約測試(使用Mocha測試框架以及Chai的斷言機制)
一個可程式設計的通道,既支援網頁app,也支援控制檯app
易於與你的彙編合約工作的控制檯
支援JavaScript,Coffeescript,sass,ES6以及內嵌的JSX
別誤會我的意思,Tfuffle有一些很棒的說明書,本文也無法與他們的第一手文獻媲美。但當我第一次使用Truffle工作的時候,仍覺有個空白,因為大部分這些材料都是面向有經驗的以太坊分散式app開發者的。沒有為純粹的小白寫的東西。
作為試圖填補這一空白的一個工具,以及推進我自己對這一架構的理解,我決定寫些東西。有人說,最好的學習方法就是教別人。那麼計劃就簡單了:寫一系列當我第一次使用Truffle的時候希望其存在的文章。
這一系列文章最核心的抱負是嘗試,以及成為一座橋樑。它將不會包含任何為理解Truffle架構而需要的細枝末節,它將包含為創造你的第一個Truffle分散式app你需要知道的一切,同時也幫助你成為一個自信的、獨立的問題解決者。希望在這一系列文章結束的時候,你可以說“我明白怎麼做出這些東西來了”。你感受到這種自信了嗎?
這些話可能你早已聽過了。每一個寫作者都認為他們的作品將成為完美的參考材料並將改天換地。但至少給我一個機會。所以,請允許我建議:
準備好一大杯茶或者咖啡
找一個安靜舒適的地方
用你希望的方式閱讀完這一系列文章
這是一系列短文,但我將盡可能保證定期更新,這樣在每次更新之間你就不會等太久。
讓我們開始吧。一個小小的提醒:如果你更喜歡看影片而非閱讀,告訴我;然後我會看看我是否有時間製作一系列包含相同主題的影片……全看使用者需求。
前提
我已經讀過許多技術指導,而且我也注意到作者們傾向於有點草率地使用“面向入門者”一詞,所以,我希望明確說明,你不需要以下知識來閱讀本文。
你不需要在之前對Truffle架構有經驗。我將不會糾結Truffle到底是什麼,我只會想你展示如何安裝它以及如何儘快能快、儘可能簡單地開始寫程式碼;
你也不需要曾經開發過一個分散式app。有一些基本的以太坊分散式app發展理論我不會在本文中提到,但如果你主要是一名使用solidity的以太坊開發者,那會更好。在理解使用truffle架構開發分散式app的細節上,你應該不會有任何問題;
在這一過程中,你不需要查閱多個其他來源。當然,你可以任意查閱其他文章和指導意見,但這一系列文章將被設計為一個包羅永珍的基礎介紹,並將嘗試只參考官方truffle檔案圖書館。
但是,你將需要一些背景知識:
1. 你將需要對Solidity的基礎性理解。這意味著你熟悉狀態引數、函式、修飾符、事件和對映。你也不需要是個solidity忍者啦,只要熟悉基礎就好;
2. 你將需要對以太坊區塊鏈的基礎理解。這意味著對以下概念比較熟悉:交易、承諾和呼叫。
要獲得這些技能,我建議你閱讀solidity的官方說明書和以太坊起步指導。
· Solidity Development Documentation(https://solidity.readthedocs.io/en/develop/index.html)
· Ethereum Project Website(https://www.ethereum.org/)
為了這趟閱讀旅程你需要準備的東西
好吧,要用truffle來開發,你並不需要太多東西。這看起來像是一個小細節,但你不會想到有多少人因為框架令人沮喪而麻煩的起步和執行而更換程式設計框架,否則每天只是在與框架作鬥爭,卻無法寫出一行程式碼。有了truffle以後,你將只需要很少一些東西了:
你需要一臺配有主流作業系統的電腦,可以是Mac OSX,Windows,Linux。所有主流作業系統都受到同等的支援;
你需要一個文字編輯器。選擇這個吧!我是sublime text3的粉絲——這是一個跨平臺的編輯器,擁有大量的外掛和提高效率的小工具。但正如我說的,這完全取決於你,不管你喜歡什麼,堅持用它就好;
你需要一個相對現代化的網頁瀏覽器。谷歌chrome是我選擇的瀏覽器,並且,因為我們在這個系列中將一直使用它,如果你還沒有的話,安裝一個也許是有價值的。
最後,你還需要Truffle,我們將在下一篇文章中介紹如何安裝。
最後一些話
我將做出一些嘗試,並在每一篇推送中以該推送包含內容的綜述作為結束,所以,舉個例子,在這第一篇推送中,我們學到了:
Truffle是一個程式設計架構,讓入門者著手為以太坊開發分散式app變得簡單;
要開始使用truffle,你並不需要很多背景知識,但你對solidity和智慧合約知道得越多,就越有幫助;
要開始使用truffle,你也不需要很多步驟,所以,在學習程式碼和寫作程式碼之間的差距是非常小的。 隨著這一系列文章的釋出,我也將分享一些練習,你不需要完成這些練習——但是,在你按你的方式把握住了文章的核心之後,這些練習也許有助於你做一個回顧,在某種意義上這無疑值得嘗試。時刻關注我們,因為在下一篇推送中我們就要開始啦。
原文連結:
https://medium.com/@tapdev/your-first-truffle-dapp-an-attempt-at-a-beginners-guide-to-the-truffle-framework-c7edf0493b7
作者: Hugh Knight
翻譯&校對:阿劍 & Elisa