ape-alchemy: Alchemy provider plugins
Project description
Quick Start
Use the Alchemy provider plugin to interact with blockchains via APIs.
The ape-alchemy
plugin supports the following ecosystems:
- Ethereum
- Arbitrum
- Base
- Optimism
- Polygon
Dependencies
- python3 version 3.8 up to 3.11.
Installation
via pip
You can install the latest release via pip
:
pip install ape-alchemy
via setuptools
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-alchemy.git
cd ape-alchemy
python3 setup.py install
Quick Usage
First, make sure you have one of the following environment variables set (it doesn't matter which one):
WEB3_ALCHEMY_PROJECT_ID
WEB3_ALCHEMY_API_KEY
WEB3_<ecosystem>_<network>_ALCHEMY_PROJECT_ID
WEB3_<ecosystem>_<network>_ALCHEMY_PROJECT_ID
For example, to use both Arbitrum and Ethereum in the same session, you could set both WEB3_ARBITRUM_MAINNET_ALCHEMY_PROJECT_ID
and WEB3_ETHEREUM_MAINNET_ALCHEMY_PROJECT_ID
.
NOTE: If using non-Ethereum networks, take care to install the correct plugins, such as ape-arbitrum
, ape-optimism
, etc:
ape plugins install arbitrum
Then, either in your current terminal session or in your root RC file (e.g. .bashrc
), add the following:
export WEB3_ALCHEMY_PROJECT_ID=MY_API_TOKEN=<value-of-secret-key>
To use the Alchemy provider plugin in most commands, set it via the --network
option:
ape console --network ethereum:sepolia:alchemy
To connect to Alchemy from a Python script, use the networks
top-level manager:
from ape import networks
with networks.parse_network_choice("ethereum:mainnet:alchemy") as provider:
...
Transaction Traces
If you are using a paid tier of Alchemy, you have access to both Geth and Parity style traces.
Parity traces are faster and thus are the ones uses in Ethereum receipts' show_trace()
method:
from ape import networks
alchemy = networks.provider # Assuming connected to Alchemy
txn_hash = "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d"
receipt = alchemy.get_transaction(txn_hash)
receipt.show_trace() # Prints the Transaction trace
To access the raw CallTree
, do:
from ape import networks
alchemy = networks.provider # Assuming connected to Alchemy
txn_hash = "0x053cba5c12172654d894f66d5670bab6215517a94189a9ffc09bc40a589ec04d"
call_tree = alchemy.get_call_tree(txn_hash)
To learn more about transaction traces, view Ape's transaction guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ape-alchemy-0.7.2.tar.gz
.
File metadata
- Download URL: ape-alchemy-0.7.2.tar.gz
- Upload date:
- Size: 62.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5acbe2a0d6fec6178aa5af3a85f74b6392087e39968683bc567a568611dc7f4e |
|
MD5 | 0f5e5dd18af9672b95e93ff4f14a5c6e |
|
BLAKE2b-256 | d6829cf25501914214035c27371b88cd80e087d61aead1842b0d1f289e43296d |
File details
Details for the file ape_alchemy-0.7.2-py3-none-any.whl
.
File metadata
- Download URL: ape_alchemy-0.7.2-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b26e83916290730b493d79924024ec9ae8bdba4b1f771e1b31a6cd87f92abee8 |
|
MD5 | 21a3bfa1bceb9f2d863e4372968e6dea |
|
BLAKE2b-256 | 1eb05d96eea70ff34540c2840b42e6fda3b016fe31e7ea0966230cec70119019 |