Use the Infura provider plugin to interact with blockchains via APIs. This plugin supports the following ecosystems:
- Arbitrum
- Avalanche
- Blast
- Ethereum
Linea(awaiting ape-linea update)- Optimism
- Polygon
- python3 version 3.9 up to 3.12.
You can install the latest release via pip
:
pip install ape-infura
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-infura.git
cd ape-infura
python3 setup.py install
First, make sure you have one of the following environment variables set (it doesn't matter which one):
- WEB3_INFURA_PROJECT_ID
- WEB3_INFURA_API_KEY
Either in your current terminal session or in your root RC file (e.g. .bashrc
), add the following:
export WEB3_INFURA_PROJECT_ID=MY_API_TOKEN
# Multple tokens
export WEB3_INFURA_PROJECT_ID=MY_API_TOKEN1, MY_API_TOKEN2
To use the Infura provider plugin in most commands, set it via the --network
option:
ape console --network ethereum:sepolia:infura
To connect to Infura from a Python script, use the networks
top-level manager:
from ape import networks
with networks.parse_network_choice("ethereum:mainnet:infura") as provider:
# Also, access the websocket URI:
print(provider.ws_uri)