EOS Factory包含一個完整的EOS測試框架,能夠進行智能合約的開發和測試。由Tokenika於建立於2017年的這個基於Python的EOS測試框架能夠輕鬆地完成智能合約的開發、部署與測試。ios
若是你但願立刻學習EOS智能合約的開發,能夠訪問這個【EOS智能合約開發教程】,教程內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發、部署與交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。git
隨着EOS的不斷髮展,咱們已經習慣了其基礎代碼的忽然變化,而且隨着咱們的進展而逐漸減小詛咒;)今天,這一天終於來了,咱們很是高興可以將咱們的工做交給EOS社區。咱們的新生嬰兒將以EOS Factory的名義出現,旨在成爲一個完整的,徹底記錄的跨平臺IDE,使用簡單的命令行界面,你將可以:github
咱們的主要目標之一是使EOSFactory與全部主要操做系統兼容,容許開發人員在從Linux到OSX到Windows10的全部內容上運行EOS節點並與之交互。咱們很高興地告訴你們這一點已經成功。據咱們所知,沒有其餘EOS開發解決方案可以提供。EOSFactory與Visual StudioCode完美配合。這將容許你在一個強大的IDE中編寫EOS智能合約,運行和單元測試。網絡
EOSFactory提供的全部功能均可以經過官方EOS工具集完成,即cleos和eosiocpp。EOSFactory只是另外一種工具嗎?並非的。框架
代碼開發和單元測試涉及須要執行數百次的任務,而且每次都以徹底相同的方式和上下文執行。所以,這些任務須要徹底自動化,不然浪費了大量時間,更糟糕的是,引入了許多額外的不肯定性。手動執行的操做容易出錯。工具
這就是EOSFactory實際帶來的內容:一種簡單直觀的方式來自動化處理智能合約的過程。以Python腳本的形式記下須要以徹底相同的方式和上下文屢次完成的操做,而後運行腳本。EOSFactory將負責其餘全部事情:它將編譯你的智能合約,建立新的測試網絡,部署合約,調用其方法並驗證響應,而後下線測試網絡,最後報告結果。全部這一切都在幾秒鐘內完成。單元測試
在EOSFactory中,咱們使用Python與智能合約進行交互。可是,在內核裏,咱們的工具集由C++提供支持。學習
所以,EOSFactory由兩層組成:測試
teos
的C++橋鏈接到運行私有testnet的EOS節點。Pyteos
的Python封裝器充當方便的人機界面。換句話說,咱們在外部使用Python,而C++則支持內部。ui
這就是智能合約開發週期的樣子:
在EOSFactory中,上述過程的每一步都由Python類和方法徹底自動化。做爲開發人員,你只提供創意部分,即智能合約和單元測試的內容。單元測試旨在用Python編寫,而智能合約固然是用C++編寫的。Visual Studio Code完美支持這兩種語言。
感謝Python,你在EOSFactory中處理的是類和對象。例如,智能合約是一個對象,你可使用其方法處理它,例如contract.build()
,constract.deploy()
,contract.push_action()
和contract.get_table()
。這與用於EOS的官方CLI的cleos
中使用的過程命令相反。
你能夠在此存儲庫中找到EOSFactory的源代碼,此處還有可用文檔列表。
EOSFactory仍在開發中,事情正在獲得解決和改進。如今咱們正在研究如下功能:
cleos
(官方EOS CLI)的優缺點。當咱們開始研究EOSFactory時,cleos
(當時名爲eosc)情況不佳,所以不適合咱們的需求,因此咱們必須爲EOS節點構建本身的C ++接口。隨着事情變得更加順利,咱們可能會從新考慮依賴清單。咱們正計劃推出EOSFactory的下一個版本,最好是在EOS推出以前。
咱們但願這是有幫助的,任何反饋,尤爲是批評,都是很是受歡迎的。若是你發現咱們的工做有用,你能夠經過在即將到來的EOS Block Producer選舉中投票選舉Tokenika來表達你的支持——咱們正在籌備更多使人興奮的EOS項目。