ape-ens: Ape plugin for ENS argument conversion and contracts
Project description
Quick Start
Ape plugin for ENS argument conversion and contracts
Dependencies
- python3 version 3.9 up to 3.12.
Installation
via pip
You can install the latest release via pip
:
pip install ape-ens
via setuptools
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-ens.git
cd ape-ens
python3 setup.py install
Quick Usage
The ENS plugin requires a mainnet connection to resolve ENS names because ENS contracts are only deployed to mainnet.
Thus, the first thing you should do is ensure you have configured a mainnet provider.
For example, if you use infura
or alchemy
, install the associated plugin:
ape plugins install infura
Afterwards, you should see it in the output of the list
command:
$ ape plugins list
Installed Plugins:
infura 0.4.0
...
After your provider plugin of choice is installed, configure it to be your default mainnet provider in your ape-config.yaml
file:
ethereum:
mainnet:
default_provider: infura
Finally, you can start the ape console using any network of your choice:
ape console --network :rinkeby:infura
Then, convert an ens
domain to an AddressType
:
In [1]: from ape.types import AddressType
In [2]: convert("vitalik.eth", AddressType)
Out[2]: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
Get the Ethereum Name Service (ENS) namehash using the namehash
function:
from ape_ens.utils import namehash
# or
# from ape_ens.utils.namehash import namehash
>> namehash("eth").hex()
"0x93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae"
>> namehash("foo.eth")
HexBytes("0xde9b09fd7c5f901e23a3f19fecc54828e9c848539801e86591bd9801b019f84f")
>> namehash("ape.rocks.eth").hex()
"0x6294e43e29c5c1573554a68e6ff302fa867ab0d56b800f623c1abb77609d2b8d"
The ENS plugin temporarily connects to mainnet, caches the address resolution, and then your original network uses the result.
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-ens-0.8.0.tar.gz
.
File metadata
- Download URL: ape-ens-0.8.0.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58539481ddb8e6d048494652c1d3a0c5582a60ec1d4aaac76062a24423f9d87b |
|
MD5 | fd45dffa126bc019cb45b3ad09f9aac1 |
|
BLAKE2b-256 | c5f947781912ec94c143239adef0420fcd76c05568ed990307d895aa18a6bfa0 |
File details
Details for the file ape_ens-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: ape_ens-0.8.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30782d21a7e50c2fec016ff54aa27da08f3419392944837fe0e28a0e0167140e |
|
MD5 | 93b231a137bf70e9e7284ab0aab3aa6d |
|
BLAKE2b-256 | 3a3066f1a70f11e9ad47ab920329d9dddf317d906521b1c68855119112001d00 |