Co-authored-by: Cursor <cursoragent@cursor.com>
6.2 KiB
Custom Domain for MetaMask Token List - Recommendation
Date: $(date)
Domain: d-bis.org
Question: Should you use a custom domain for GitHub Pages token list?
📊 Recommendation: ✅ YES - Use Custom Domain
Recommended Subdomain: tokens.d-bis.org or metamask.d-bis.org
✅ Pros of Using Custom Domain
1. Professional Branding
- ✅ Consistent with your infrastructure (
rpc-core.d-bis.org,explorer.d-bis.org) - ✅ Shorter, memorable URL:
https://tokens.d-bis.org/token-list.json - ✅ Better than:
https://defi-oracle-meta-blockchain.github.io/metamask-integration/config/token-list.json
2. User Trust
- ✅ Users see your domain, not GitHub
- ✅ Consistent branding across all services
- ✅ Professional appearance
3. Flexibility
- ✅ Can switch hosting later without changing URL
- ✅ Can add multiple token lists under same domain
- ✅ Can add API endpoints later
4. Consistency
- ✅ Matches your existing pattern:
rpc-core.d-bis.org(RPC)explorer.d-bis.org(Explorer)tokens.d-bis.org(Token List) ← New
❌ Cons of Using Custom Domain
1. Additional Setup
- ⚠️ Need to configure DNS
- ⚠️ Need to verify domain in GitHub
- ⚠️ Slightly more complex
2. Maintenance
- ⚠️ Need to keep DNS record updated
- ⚠️ SSL certificate management (handled by GitHub Pages)
🎯 Recommended Subdomain Options
Option 1: tokens.d-bis.org ✅ RECOMMENDED
Pros:
- ✅ Clear purpose (token list)
- ✅ Short and memorable
- ✅ Can host multiple token lists later
URL: https://tokens.d-bis.org/token-list.json
Option 2: metamask.d-bis.org
Pros:
- ✅ Specific to MetaMask integration
- ✅ Clear purpose
URL: https://metamask.d-bis.org/token-list.json
Option 3: api.d-bis.org
Pros:
- ✅ Can expand to full API later
- ✅ Professional naming
URL: https://api.d-bis.org/token-list.json
Recommendation: Use tokens.d-bis.org ✅
🚀 Setup Instructions
Step 1: Configure DNS in Cloudflare
In Cloudflare DNS Dashboard:
-
Go to DNS:
- Cloudflare Dashboard →
d-bis.org→ DNS → Records
- Cloudflare Dashboard →
-
Create CNAME Record:
Type: CNAME Name: tokens Target: defi-oracle-meta-blockchain.github.io Proxy: ⚪ DNS only (gray cloud) - REQUIRED for GitHub Pages TTL: AutoImportant:
- ✅ Must use DNS only (not proxied) for GitHub Pages
- ✅ Target must be:
<username>.github.io(no path)
-
Save Record
Step 2: Configure Custom Domain in GitHub Pages
In GitHub Repository Settings:
-
Go to Pages Settings:
- Repository → Settings → Pages
-
Add Custom Domain:
- Under "Custom domain", enter:
tokens.d-bis.org - Click Save
- Under "Custom domain", enter:
-
Verify Domain:
- GitHub will show verification instructions
- Add TXT record to DNS (if required)
- Wait for verification (usually 1-2 minutes)
-
Enable HTTPS:
- After verification, GitHub will provision SSL certificate
- Enable "Enforce HTTPS" checkbox
- Wait for certificate (5-10 minutes)
Step 3: Update Token List Path
Current Structure:
config/token-list.json
After Custom Domain:
- URL:
https://tokens.d-bis.org/config/token-list.json - Or move to root:
https://tokens.d-bis.org/token-list.json
Recommendation: Keep config/token-list.json structure (more organized)
📋 DNS Configuration Details
Cloudflare DNS Record
Type: CNAME
Name: tokens
Target: defi-oracle-meta-blockchain.github.io
Proxy: ⚪ DNS only (gray cloud)
TTL: Auto
Comment: GitHub Pages for MetaMask token list
Why DNS Only (Not Proxied)?
GitHub Pages requires:
- Direct DNS resolution to GitHub's servers
- Cloudflare Proxy can interfere with GitHub's SSL certificates
- GitHub handles SSL/TLS automatically
Note: You lose Cloudflare DDoS protection, but GitHub Pages has its own protection.
✅ Verification Steps
1. Test DNS Resolution
dig tokens.d-bis.org
nslookup tokens.d-bis.org
# Should resolve to GitHub Pages IPs
2. Test HTTPS Access
curl -I https://tokens.d-bis.org/config/token-list.json
# Should return:
# HTTP/2 200
# Content-Type: application/json
3. Verify SSL Certificate
openssl s_client -connect tokens.d-bis.org:443 -servername tokens.d-bis.org
# Should show GitHub Pages certificate
4. Test in MetaMask
- Add token list URL:
https://tokens.d-bis.org/config/token-list.json - Verify tokens appear
- Check metadata
🔄 Alternative: Keep GitHub Pages URL
If you prefer simplicity:
- ✅ No DNS configuration needed
- ✅ Works immediately
- ✅ GitHub handles everything
- ❌ Longer URL
- ❌ Less professional
URL: https://defi-oracle-meta-blockchain.github.io/metamask-integration/config/token-list.json
📊 Comparison
| Feature | Custom Domain | GitHub Pages URL |
|---|---|---|
| URL Length | ✅ Short | ❌ Long |
| Branding | ✅ Professional | ❌ Generic |
| Setup Complexity | ⚠️ Medium | ✅ Simple |
| Maintenance | ⚠️ DNS + GitHub | ✅ GitHub only |
| SSL Certificate | ✅ Auto (GitHub) | ✅ Auto (GitHub) |
| Consistency | ✅ Matches infrastructure | ❌ Different pattern |
| Flexibility | ✅ Can switch hosting | ⚠️ Tied to GitHub |
🎯 Final Recommendation
Use Custom Domain: ✅ YES
Configuration:
- Subdomain:
tokens.d-bis.org - DNS: CNAME to
defi-oracle-meta-blockchain.github.io(DNS only) - GitHub Pages: Add custom domain in settings
- URL:
https://tokens.d-bis.org/config/token-list.json
Benefits:
- ✅ Professional appearance
- ✅ Consistent with your infrastructure
- ✅ Shorter, memorable URL
- ✅ Better user experience
Setup Time: ~10-15 minutes
📚 Related Documentation
Last Updated: $(date)