Python 開發者的以太坊
了解如何使用基於 Python 的專案與工具在以太坊上進行開發
使用以太坊建立去中心化應用程式 (dapp),利用加密貨幣與區塊鏈技術的優勢。這些 dapp 是值得信賴的,這意味著一旦它們被部署到以太坊,就會始終按照程式設計的方式運行。它們可以控制數位資產,以建立新型態的金融應用程式。它們可以是去中心化的,這意味著沒有單一實體或個人控制它們,且幾乎不可能被審查。
開始使用智能合約與 Solidity 語言
邁出將 Python 與以太坊整合的第一步
需要先了解更基礎的入門知識嗎?請查看 ethereum.org/learn 或 ethereum.org/developers。
- 區塊鏈解釋 (opens in a new tab)
- 了解智能合約 (opens in a new tab)
- 撰寫你的第一個智能合約 (opens in a new tab)
- 了解如何編譯與部署 Solidity (opens in a new tab)
- 2023 年區塊鏈中的 Python 狀態報告 (opens in a new tab)
初學者文章
- Web3.py 概覽 (opens in a new tab)
- 以太坊 Python 生態系導覽 (opens in a new tab)
- 給 (Python) 開發者的以太坊指南 (opens in a new tab)
- 值得獲獎:以太坊 Python 黑客松指南 (opens in a new tab)
- 使用 Vyper 的智能合約簡介 (opens in a new tab)
- 如何使用 Python Flask 開發以太坊合約? (opens in a new tab)
- Web3.py 簡介 · Python 開發者的以太坊 (opens in a new tab)
- 如何使用 Python 與 Web3.py 呼叫智能合約函式 (opens in a new tab)
中階文章
- Web3.py 之友:Ape 簡介 (opens in a new tab)
- 給 Python 程式設計師的 dapp 開發 (opens in a new tab)
- 建立 Python 以太坊介面:第 1 部分 (opens in a new tab)
- Python 中的以太坊智能合約:(算得上) 全面的指南 (opens in a new tab)
進階使用模式
- Web3.py 模式:即時事件訂閱 (opens in a new tab)
- Web3.py 模式:WebSocketProvider (opens in a new tab)
- 使用 Python 編譯、部署與呼叫以太坊智能合約 (opens in a new tab)
- 使用斯立瑟分析 Solidity 智能合約 (opens in a new tab)
- 區塊鏈金融科技教學:使用 Python 進行借貸與借款 (opens in a new tab)
封存文章
- 使用 Python 與 Brownie 部署你自己的 ERC-20 代幣 (opens in a new tab)
- 使用 Brownie 與 Python 部署智能合約 (opens in a new tab)
- 使用 Brownie 在 OpenSea 上建立 NFT (opens in a new tab)
Python 專案與工具
活躍中:
- Web3.py (opens in a new tab) - 用於與以太坊互動的 Python 函式庫
- Vyper (opens in a new tab) - 適用於 EVM 的 Python 風格智能合約語言
- Ape (opens in a new tab) - 為 Python 開發者、資料科學家與安全專業人員打造的智能合約開發工具
- py-evm (opens in a new tab) - 以太坊虛擬機的實作
- eth-tester (opens in a new tab) - 用於測試基於以太坊應用程式的工具
- eth-utils (opens in a new tab) - 用於處理以太坊相關程式碼庫的公用程式函式
- py-solc-x (opens in a new tab) - 支援 0.5.x 版本的 solc Solidity 編譯器 Python 包裝器
- pymaker (opens in a new tab) - 用於 Maker 合約的 Python API
- siwe (opens in a new tab) - 適用於 Python 的以太坊登入 (SIWE)
- 用於以太坊整合的 Web3 去中心化金融 (DeFi) (opens in a new tab) - 一個為 ERC-20、尤尼斯瓦普與其他熱門專案提供現成整合的 Python 套件
- Wake (opens in a new tab) - 用於合約測試、模糊測試、部署、漏洞掃描與程式碼導覽的多合一 Python 框架 (語言伺服器 - Solidity 工具 (opens in a new tab))
- DeFiPy (opens in a new tab) - 用於跨尤尼斯瓦普 V2/V3、Balancer 與 Curve 進行去中心化金融 (DeFi) 分析與自動做市商 (AMM) 模擬的 Python SDK
封存 / 不再維護:
- Trinity (opens in a new tab) - 以太坊 Python 客戶端
- Mamba (opens in a new tab) - 用於撰寫、編譯與部署以 Vyper 語言撰寫之智能合約的框架
- Brownie (opens in a new tab) - 用於部署、測試與互動以太坊智能合約的 Python 框架
- pydevp2p (opens in a new tab) - 以太坊 P2P 堆疊的實作
- py-wasm (opens in a new tab) - WebAssembly 直譯器的 Python 實作
正在尋找更多資源嗎?請查看 ethereum.org/developers。
使用 Python 工具的專案
以下基於以太坊的專案使用了本頁面提及的工具。相關的開源儲存庫可作為範例程式碼與最佳實務的良好參考。
- Yearn Finance (opens in a new tab) 與 Yearn 金庫合約儲存庫 (opens in a new tab)
- Curve (opens in a new tab) 與 Curve 智能合約儲存庫 (opens in a new tab)
- BadgerDAO (opens in a new tab) 與 使用 Brownie 工具鏈的智能合約 (opens in a new tab)
- Sushi (opens in a new tab) 使用 Python 來管理與部署他們的歸屬合約 (opens in a new tab)
- Alpha Finance (opens in a new tab) (以 Alpha Homora 聞名) 使用 Brownie 來測試與部署智能合約 (opens in a new tab)
Python 社群討論
- 以太坊 Python 社群 Discord (opens in a new tab),用於 Web3.py 與其他 Python 框架討論
- Vyper Discord (opens in a new tab),用於 Vyper 智能合約程式設計討論
其他彙整清單
Vyper wiki 有一份極佳的 Vyper 資源清單 (opens in a new tab)