/ens-registrars

Templates of different registrars used to assign subnames with different logic.

Primary LanguageSolidityMIT LicenseMIT

ENS Registrars

This repository contains a set of Registrar contracts designed for managing and assigning subnames under specific domains like .eth or .protocol.eth. These Registrars are responsible for creating and maintaining subnames such as 0xYamen.eth or 0xYamen.protocol.eth.

Overview

Registrars are versatile contracts that can be tailored to different naming conventions and subdomains. For example, a domain like protocol.eth can have a dedicated Registrar that manages the registration of subnames like name.protocol.eth. The flexibility of these Registrars allows for various implementations where each protocol implements custom logic for assigning subnames, ensuring that different use cases and requirements can be met.

Available Registrars

  • TokenizedRegistrar: A Registrar that tokenizes the subnames, making them transferrable and sellable as ERC721 tokens.
  • OwnableRegistrar: A Registrar where only the owner has the authority to assign subnames.

More Registrars are being developed and will be available soon.

Installation

To install and set up the ENS Registrars in your project, follow these steps:

  1. Clone the repository:
$ git clone https://github.com/Patronum-Labs/ens-registrars.git
  1. Navigate to the project directory:
$ cd ens-registrars
  1. Install the dependencies:
$ forge install
  1. Build the contracts:
$ forge build
  1. Run the tests:
$ forge test

Contributing

Contributions are welcome! If you have ideas for new Registrars or improvements to existing ones, feel free to submit a Pull Request.

License

This project is licensed under the MIT License.