ENS Query and Management Python Client

ENS Manager Client

A comprehensive Ethereum Name Service (ENS) management tool that provides a command-line interface for interacting with ENS names written in PYTHON.

Features

  • Interactive menu with arrow key navigation
  • Secure account management with encrypted storage
  • Multiple provider support (Infura, Alchemy, QuickNode, Custom)
  • Multiple wallet support with password protection
  • Resolve ENS names to Ethereum addresses
  • Reverse resolve Ethereum addresses to ENS names
  • Get ENS name owner information
  • View resolver contract addresses
  • Get TTL values
  • Manage text records
  • Handle content hashes (IPFS/Swarm)
  • View name history

Installation

Install globally

pip install -e .

Or use directly with Poetry

poetry install

First Run

When you first run the tool, you’ll be prompted to create a password. This password will be used to encrypt your configuration file that stores your provider API keys and wallet private keys.

Run the interactive menu

ens-manager

Configuration

The tool will guide you through setting up:

Provider Configuration:
Choose from Infura, Alchemy, QuickNode, or custom provider
Enter your API key
Name your provider configuration
Set as active provider if desired

Account Management:
Add multiple Ethereum accounts
Name each account for easy reference
Securely store private keys
Switch between accounts easily

All configuration is stored encrypted in ~/.ens-manager/config.enc
Usage

The interactive menu provides the following options:

  1. Look up ENS information: Get comprehensive details about an ENS name
  2. Resolve ENS name: Convert ENS name to Ethereum address
  3. Reverse resolve: Convert Ethereum address to ENS name
  4. Get owner: View the owner of an ENS name
  5. Get text record: View specific text records
  6. View name history: See the ownership history of a name
  7. Manage providers: Add/remove/switch between providers
  8. Manage accounts: Add/remove/switch between accounts
  9. View configuration: See current provider and account settings

Security
All sensitive information is encrypted using Fernet (symmetric encryption)
*** Configuration file is stored with restricted permissions (700)***
*** Private keys are never stored in plain text***
*** Single master password protects all configurations***

License
MIT License

MORE UPDATES TO COME SOON!!!

1 Like