Skip to main content

ape-ens: Ape plugin for ENS argument conversion and contracts

Project description

Quick Start

Ape plugin for ENS argument conversion and contracts

Dependencies

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ape-ens-0.7.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

ape_ens-0.7.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

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

Hashes for ape-ens-0.7.0.tar.gz
Algorithm Hash digest
SHA256 9da9b7b8ba3f28b6b4164040f9e8e7c822f062ab941b7c34fcaf6cf546f58c35
MD5 f6910e919ace591b5b319d3508fb47da
BLAKE2b-256 8954f46b4a165a9b189ed6a174ad356e3f954b5520fb1eacfdffbe13089401ec

See more details on using hashes here.

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

Hashes for ape_ens-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7f9bb7dcad0c8997372a186a67e49c81e7cacda5ef677b90dec54657c317a69
MD5 1ea8bebeaae9c5987ae9f80ad39470c1
BLAKE2b-256 8fe86c5e9089ee52da201e561441a5a8574d4284ac73d5fc4b4edb7f510c12ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page