https://github.com/zkemail/email-as-ens-archive
Use your email address as an ENS name — `myemail@domain.com` becomes `myemail@domain.com.email.eth`.
https://github.com/zkemail/email-as-ens-archive
Last synced: 20 days ago
JSON representation
Use your email address as an ENS name — `myemail@domain.com` becomes `myemail@domain.com.email.eth`.
- Host: GitHub
- URL: https://github.com/zkemail/email-as-ens-archive
- Owner: zkemail
- License: mit
- Created: 2025-05-12T14:53:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-22T14:43:01.000Z (about 1 year ago)
- Last Synced: 2025-12-21T02:53:18.872Z (7 months ago)
- Language: Solidity
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Email-as-ENS Registrar
A decentralized registrar that allows users to claim ENS names based on their email ownership using zk-email proofs.
## Overview
This project enables users to claim ENS names corresponding to their email addresses. For example, if you own "myemail@example.com", you can claim "myemail@example.com.email.eth" and set any Ethereum address as the owner.
The system uses zk-email proofs to verify email ownership, ensuring that only the legitimate owner of an email address can claim the corresponding ENS name.
## Prerequisites
- [Foundry](https://book.getfoundry.sh/getting-started/installation)
- Node.js (for testing)
- Git
## Setup
1. Clone the repository:
```shell
git clone https://github.com/yourusername/email-as-ens.git
cd email-as-ens
```
2. Install dependencies:
```shell
forge install
```
3. Build the project:
```shell
forge build
```
## Development
### Testing
```shell
forge test
```
### Format Code
```shell
forge fmt
```
### Gas Snapshots
```shell
forge snapshot
```
### Local Development
Start a local Ethereum node:
```shell
anvil
```
## Project Structure
- `src/` - Smart contract source files
- `ZKEmailRegistrar.sol` - Main registrar contract
- `test/` - Tests