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.8 up to 3.11.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ape-ens-0.7.0.tar.gz.
File metadata
- Download URL: ape-ens-0.7.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9da9b7b8ba3f28b6b4164040f9e8e7c822f062ab941b7c34fcaf6cf546f58c35
|
|
| MD5 |
f6910e919ace591b5b319d3508fb47da
|
|
| BLAKE2b-256 |
8954f46b4a165a9b189ed6a174ad356e3f954b5520fb1eacfdffbe13089401ec
|
File details
Details for the file ape_ens-0.7.0-py3-none-any.whl.
File metadata
- Download URL: ape_ens-0.7.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7f9bb7dcad0c8997372a186a67e49c81e7cacda5ef677b90dec54657c317a69
|
|
| MD5 |
1ea8bebeaae9c5987ae9f80ad39470c1
|
|
| BLAKE2b-256 |
8fe86c5e9089ee52da201e561441a5a8574d4284ac73d5fc4b4edb7f510c12ca
|