EOS Factory是一個EOS智能合約開發和測試框架。php
自2017年秋季以來,Tokenika一直致力於建立基於Python的EOS智能合約開發平臺,以便輕鬆建立,測試和部署智能合約。隨着EOS的不斷髮展,咱們已經習慣了其基礎代碼的忽然變化,而且隨着咱們的進展而逐漸減小詛咒;)今天,這一天終於來了,咱們很是高興可以將咱們的工做交給EOS社區。咱們的新生嬰兒將以EOS Factory的名義出現,旨在成爲一個完整的,徹底記錄的跨平臺IDE,使用簡單的命令行界面,你將可以:java
咱們的主要目標之一是使EOSFactory與全部主要操做系統兼容,容許開發人員在從Linux到OSX到Windows10的全部內容上運行EOS節點並與之交互。咱們很高興地告訴你們這一點已經成功。據咱們所知,沒有其餘EOS開發解決方案可以提供。EOSFactory與Visual StudioCode完美配合。這將容許你在一個強大的IDE中編寫EOS智能合約,運行和單元測試。node
EOSFactory提供的全部功能均可以經過官方EOS工具集完成,即cleos和eosiocpp。EOSFactory只是另外一種工具嗎?並非的。python
代碼開發和單元測試涉及須要執行數百次的任務,而且每次都以徹底相同的方式和上下文執行。所以,這些任務須要徹底自動化,不然浪費了大量時間,更糟糕的是,引入了許多額外的不肯定性。手動執行的操做容易出錯。android
這就是EOSFactory實際帶來的內容:一種簡單直觀的方式來自動化處理智能合約的過程。以Python腳本的形式記下須要以徹底相同的方式和上下文屢次完成的操做,而後運行腳本。EOSFactory將負責其餘全部事情:它將編譯你的智能合約,建立新的測試網絡,部署合約,調用其方法並驗證響應,而後下線測試網絡,最後報告結果。全部這一切都在幾秒鐘內完成。ios
在EOSFactory中,咱們使用Python與智能合約進行交互。可是,在內核裏,咱們的工具集由C++提供支持。git
所以,EOSFactory由兩層組成:程序員
teos
的C++橋鏈接到運行私有testnet的EOS節點。Pyteos
的Python封裝器充當方便的人機界面。換句話說,咱們在外部使用Python,而C++則支持內部。github
這就是智能合約開發週期的樣子:web
在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項目。
======================================================================
分享一些以太坊、EOS、比特幣等區塊鏈相關的交互式在線編程實戰教程:
- EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
- python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
- java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
- php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
- 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
- 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
- C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
- java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
- php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
- tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。
匯智網原創翻譯,轉載請標明出處。這裏是原文EOS 智能合約開發和測試框架 EOS Factory