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
.
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.
- 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.
To install and set up the ENS Registrars in your project, follow these steps:
- Clone the repository:
$ git clone https://github.com/Patronum-Labs/ens-registrars.git
- Navigate to the project directory:
$ cd ens-registrars
- Install the dependencies:
$ forge install
- Build the contracts:
$ forge build
- Run the tests:
$ forge test
Contributions are welcome! If you have ideas for new Registrars or improvements to existing ones, feel free to submit a Pull Request.
This project is licensed under the MIT License.