Ethereum for Python Developers
Use Ethereum to create decentralized applications (or "dapps") that utilize the benefits of cryptocurrency and blockchain technology. These dapps can be trustworthy, meaning that once they are deployed to Ethereum, they will always run as programmed. They can control digital assets in order to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them and are nearly impossible to censor.
Take your first steps to integrating Python with Ethereum
- Blockchain Explained
- Understanding Smart Contracts
- Write your First Smart Contract
- Learn How to Compile and Deploy Solidity
- A (Python) Developer's Guide to Ethereum
- An Introduction to Smart Contracts with Vyper
- Deploy your own ERC20 Token with Python and Brownie
- How to develop Ethereum contract using Python Flask?
- Intro to Web3.py · Ethereum For Python Developers
- How to call a Smart Contract function using Python and web3.py
- Dapp Development for Python Programmers
- Creating a Python Ethereum Interface: Part 1
- Ethereum Smart Contracts in Python: a comprehensive(ish) guide
- Using Brownie and Python to deploy Smart Contracts
- Creating NFTs on OpenSea with Brownie
- Compiling, deploying and calling Ethereum smartcontract using Python
- Analyze Solidity Smart Contracts with Slither
- Blockchain Fintech Tutorial: Lending and Borrowing With Python
- Web3.py - Python library for interacting with Ethereum
- Ape - The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals
- Brownie - Python framework for deploying, testing and interacting with Ethereum smart contracts
- Vyper - Pythonic Smart Contract Language for the EVM
- py-evm - implementation of the Ethereum Virtual Machine
- eth-tester - tools for testing Ethereum-based applications
- eth-utils - utility functions for working with Ethereum related codebases
- py-solc-x - Python wrapper around the solc solidity compiler with 0.5.x support
- py-wasm - Python implementation of the web assembly interpreter
- pydevp2p - implementation of the Ethereum P2P stack
- pymaker - Python API for Maker contracts
- siwe - Sign in with Ethereum (siwe) for Python
- Web3 DeFi for Ethereum integrations - A Python package with ready integrations for ERC-20, Uniswap and other popular projects
- Trinity - Ethereum Python client
- Mamba - framework to write, compile, and deploy smart contracts written in Vyper language
Looking for more resources? Check out ethereum.org/developers.
The following Ethereum-based projects use tools mentioned on this page. The related open-source repositories serve as a good reference for example code and best practices.
- Yearn Finance and Yearn Vault Contracts repository
- Curve and Curve smart contracts repository
- BadgerDAO and smart contracts using Brownie toolchain
- Sushi uses Python in managing and deploying their vesting contracts
- Alpha Finance, of Alpha Homora fame, uses Brownie to test and deploy smart contracts
The Ethereum Python Community Discord is host to a rapidly growing community and is the dedicated resource for discussions on any of the above projects and related topics.
The Vyper wiki has an incredible list of resources for Vyper
Help us with this page
If you're an expert on the topic and want to contribute, edit this page and sprinkle it with your wisdom.
You'll be credited and you'll be helping the Ethereum community!
Use this flexible documentation template
Questions? Ask us in the #content channel on our Discord serverEdit page