python以太坊開發的主要相關技術

來源:互聯網
上載者:User

標籤:抽象   需要   ESS   編寫   .com   php   介面   位元組   互動   

  使用 python 開發以太坊,有很多技術知識需要學習,也有很多資源可以推薦,我們來看幾個主要的:

  Web3.Py

  https://github.com/ethereum/web3.py

  https://pypi.python.org/pypi/web3

  web3.py程式碼程式庫現在已經比較完善了。整個程式碼程式庫已經被徹底檢測,基本實現JavaScript web3.js庫中使用者熟悉使用的100%的功能。

  這個庫支援Python 2.7、3.4和3.5。

  我最喜歡的一個部分是TestRPCProvider。它提供者自動為你提供eth-testrpc服務,以便你可以測試Web3.Py代碼像是在EVM記憶體中。這提供了一種快速測試方法,保證你編寫的任何代碼在與geth支援的JSON-RPC伺服器直接進行互動時也能正常工作。

  py-geth 和 py-solc

  https://github.com/ethereum/py-geth

  https://pypi.python.org/pypi/py-geth

  https://github.com/ethereum/py-solc

  https://pypi.python.org/pypi/py-solc

  這兩個庫都提供了圍繞底層可執行檔的Python包。

  py-solc提供進階的compile_files和compile_sources函數為了使你可以用python代碼編譯solidity來源程式。它還提供了一個link_code函數來處理庫連結。如果你想做更底層的事情,你也可以深入代碼,可以找到訪問底層solc API的任何介面,你需要通過solc.wrapper.solc_wrappe函數來訪問。

  同樣,py-geth提供了用於從Python代碼運行 go-ethereum geth用戶端的進階工具。它提供了預先配置好的類LiveGethProcess和TestnetGethProcess用他們來運行主網或者測試網,以及用於運行測試的本地私人鏈DevGethProcess。

  所有以下這些類都有比較友好的API。

  GethProcess.accounts:返回帳戶地址清單

  GethProcess.data_dir:返回geth進程的底層資料目錄的路徑。

  GethProcess.rpc_enabled/rpc_port/rpc_host:關於JSON-RPC介面的資訊。

  GethProcess.is_rpc_ready:返回JSON-RPC伺服器是否已啟動並偵聽。

  GethProcess.wait_for_rpc(timeout=0):等待JSON-RPC伺服器聯機。

  GethProcess.ipc_*/is_ipc_ready/wait_for_ipc(timeout=0):與相應的RPC方法和屬性相同的功能。

  py-geth庫還提供了一些混合類,可以用來編寫所有geth輸出到stdout/stderr,或者通過geth.mixins模組將其寫入日誌記錄器。項目說明檔案中可用的樣本。

  這兩個都支援Python 2.7、3.4和3.5。

  以太坊測試相關的 TestRPC 和測試用戶端

  https://github.com/pipermerriam/eth-testrpc/

  https://pypi.python.org/pypi/eth-testrpc

  https://github.com/pipermerriam/ethereum-tester-client

  https://pypi.python.org/pypi/ethereum-tester-client

  這兩個庫都是pyethereum存放庫的ethereum.tester EVM 之上的抽象。

  如果想直接通過Python代碼與測試EVM進行互動,我建議使用thereum-tester-client庫。它實現了絕大多數APIs的可以讓我們使用geth的各種介面。

  如果需要測試RPC互動,那麼我建議使用eth-testrpc,它實現了絕大多數由geth公開的JSON-RPC邏輯介面。在以太坊引擎下它自己是一層,位於ethereum-tester-client庫的頂部。

  這兩個庫都支援Python 2.7、3.4和3.5。

  Populus

  https://github.com/ethereum/populus

  http://populus.readthedocs.org/

  Populus是一個以太坊智能合約開發架構,幾乎可以做任何以太坊區塊鏈開發相關的事。

  大量的Populus程式碼程式庫,可以更好地作為獨立的Python程式包。py-solc和py-geth庫都刪除了大量複雜的子過程邏輯。基於Web3.Py開發可以從程式碼程式庫中減少非常多的工作量,同時使以太坊區塊鏈互動更加健壯和可靠。

  如果你的目標是提供一個架構來自動http://www.gyslssty.com/xszzxm/xstfzz/434.html化複雜的部署以及設定一個完整的打包和發布系統的話,Populus是一個很好的選擇。

  Populus依賴關係:

  solidity 編譯器:智能合約是以solidity語言編寫的,然後編譯到以太坊虛擬機器(EVM)的位元組碼中。

  geth:以太坊協議的go語言實現。geth用戶端運行在區塊鏈節點,讓我們與區塊鏈進行互動,並在開發過程中可以運行並部署到測試鏈。

  此外,Populus需要一些系統依賴性,才能安裝PyEthereum庫。

  Populus支援Python 2.7、3.4和3.5。

  python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。

  web3j教程,主要是針對java和android程式員進行區塊鏈以太坊開發的web3j詳解。

  以太坊教程,主要介紹智能合http://www.chinamaofa.com約與dapp應用開發,適合入門。

  以太坊開發,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。

  php以太坊,主要是介紹使用php進行智能合約開發互動,進行帳號建立、交易、轉賬、代幣開發以及過濾器和事件等內容。

python以太坊開發的主要相關技術

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.