Human-readable
.seldomains for Selendra addresses
SNS maps human-readable names to blockchain addresses:
| Without SNS | With SNS |
|---|---|
0x742d35Cc6634C0532925a3b844Bc9e7595f... |
alice.sel |
- 🔒 Commit-reveal registration (front-running protection)
- 🎨 ERC-721 NFT ownership (tradeable domains)
- 📝 Text records (email, URL, avatar, social links)
- 🔄 Reverse resolution (address → name)
- ⏰ 10-second commitment wait (optimized for Selendra's 1s blocks)
| Length | Price/Year |
|---|---|
| 3 chars | 1,000 SEL |
| 4 chars | 250 SEL |
| 5+ chars | 50 SEL |
forge testsource .env
forge script script/DeploySNS.s.sol:DeploySNS \
--rpc-url https://rpc-testnet.selendra.org \
--broadcast --private-key $PRIVATE_KEY --legacycd web && npm install && npm run devsel-domains/
├── src/ # Solidity contracts
│ ├── SNSRegistry.sol # Core registry
│ ├── BaseRegistrar.sol # ERC-721 NFT ownership
│ ├── SELRegistrarController.sol # Registration logic
│ ├── PublicResolver.sol # Records storage
│ └── PriceOracle.sol # Pricing
├── test/ # Foundry tests
├── script/ # Deployment scripts
├── sdk/ # TypeScript SDK
├── web/ # Next.js frontend
└── docs/ # Documentation
| Contract | Address |
|---|---|
| SNSRegistry | 0x03BB6Dd5756774bdcC7D5BF6c5EF6Ea28E21A22a |
| BaseRegistrar | 0xbF0AF7D1b5a6F17A9C6448375B0f1c4788a27Ff6 |
| SELRegistrarController | 0xC202368044C4e633B5585D3e9498E421b5955D8E |
| PublicResolver | 0xFE6c7Ed8FA52FEA2149fd98a60a8e986DBEa0f8a |
| PriceOracle | 0x81eBB2a59e61D268c47f4F707e7D4f2aAfd9b890 |
| ReverseRegistrar | 0xB708898adFeAC80aA1F9cD1Da2B3113d7f5B825E |
Network: Selendra Testnet (Chain ID: 1953)
RPC: https://rpc-testnet.selendra.org
- Design - Architecture overview
- Technical - Implementation details
- Tasks - Roadmap & backlog
- Testing - Testing guide
MIT