适合 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)