Genel Bakış|HEYLOGRAM.TV — TEKNİK DÖKÜMAN
Sistem Mimarisi & Teknik Özellikler

Heylogram.tv

Polygon Mainnet üzerinde NFT domain, görev ekonomisi, mevsimsel token havuzu ve likidite kilitleme sistemi.

01Genel Bakış

Blockchain
Polygon
Chain ID
137
Framework
Next.js App Router
Wallet
wagmi v2 + RainbowKit
Database
Firebase Firestore
Deploy
Vercel
Web3 Lib
viem v2
DEX
Uniswap V3

02Kontrat Adresleri

Tüm kontratlar Polygon Mainnet'te yayında. PolygonScan üzerinden doğrulanabilir.

KONTRATTİPADRES
Domain NFT (aktif)ERC-7210xc993f5A85724a609A4747e9c237A12C57F13A826
Domain NFT (eski)ERC-7210xc654129EF0FE6677d7A01B852D1113a0110b0816
MarketplaceCustom0x88Be8507cB3750e16331Fe10601fB0297d4C35ea
VOI TokenERC-200xc8Ad9EB7D26337E598AFE89bF69d21455BD10501
HEY TokenERC-200xC9e3488E3CDAA944fDBFce0DEf602d4b09db4032
URA TokenERC-200xaafbd87e2D69Dc317276a16E2c195d269214b7C5
GARURA TokenERC-20 · 1 adet0x427E0a0F5B8b70e2f98CcA860FdFF58055C253C5
GaruraPool V2Custom0x87555b791A30ec5B10150ac1BD399741030DFBb0
LP LockerCustom0x3df61b76622eC494cEE2f586914DB14913c5CA98

RPC

Aktif
https://polygon.drpc.org
https://1rpc.io/matic
Kullanılmıyor
polygon-rpc.com
rpc.ankr.com/polygon

03Token Ekonomisi

TOKENTOPLAM ARZDOLAŞIMKULLANIMYENİ ARZ
$VOI100M20MDomain, Garura, PartnerSadece Garura ödülü
$HEY2B1BCanlı yayın, referralSabit
$URA98.774.312.000.000.000Tıklamayla basılırTıklama ödülüToplu mint (batch)
$GARURA1Son tıklayanURA biter → gönderilir

VOI — Kontrat Notları

⏸ Trading Pause

Flash loan saldırılarına karşı koruma mekanizması. Normal operasyonda pasif. Admin yetkisiyle aktive edilir.

🪙 Mint Yetkisi

Yalnızca Garura sezon ödülleri için kullanılır. Her mint işlemi blockchain'de şeffaf biçimde görülebilir.

04Domain Sistemi

Her .heylogramtv domaini bir ERC-721 NFT'dir. Sahiplik zincirde kayıtlıdır.

UZUNLUKPOLVOIUSD ~
11201.500$10
260750$5
330400$2.5
415200$1.3
5+680$0.5
Basic
Domain yok · %50 puan · Günlük 3 görev limiti
Domain Holder
.heylogramtv sahibi · %100 puan · Sınırsız görev

05Garura Havuzu

Kullanıcıların görevlerden kazandığı puanları mevsimsel token havuzlarına dönüştüren dağıtım mekanizması.

Hesaplama Formülü

kullanıcı_payı = (committedPoints + earnedDuringSeason) / totalPoolPoints × seasonAmount × 0.90 // %10 platform kesintisi

Sezon Akışı

1
Oluşturma
Admin token+miktar+süre belirler
2
Kayıt
Kullanıcı committedPoints kilitler
3
Aktif
Görevler earnedDuringSeason'a sayılır
4
Dağıtım
adminPush() ile cüzdanlara token

06Görev Sistemi

Görev tamamlama ECDSA imza doğrulamasıyla korunur. Kullanıcı gas ödemez.

İmza Formatı

message = `heylogramtv:complete: ${missionId}:${wallet}:${timestamp}` // Replay koruması: timestamp < 5 dk // Backend: recoverMessageAddress()

Görev Tipleri

TİPTEKRAR
standardbir kez / günlük / haftalık
site_visitbir kez (?hw=WALLET)
domain_mintbir kez (tx hash)

07Partner Sistemi

.heylogramtv domain sahibi partner olabilir. LP pozisyonu kontrata bağlıdır, domain satılırsa otomatik iptal.

%85
Kullanıcılara
%15
Platform payı
+%1
Partner bonusu
FONKSİYONAÇIKLAMA
deposit(tokenId, isOld, tokenChoice, amount)Partner VOI/HEY yatırır, domain sahipliği zincirde doğrulanır
reward(partner, user, token, amount, taskId)Admin göreve göre kullanıcıya ödeme yapar
rewardBatch(...)Gas optimizasyonu için toplu ödeme
withdraw(tokenChoice, amount)Partner kalan bakiyeyi çeker
reclaimAfterSale()Domain satılırsa fonlar otomatik geri alınır

08LP Locker

Uniswap V3 LP pozisyonlarını zaman kilidiyle sabitleyen açık kaynaklı kontrat. Herkes kendi LP NFT'sini kilitleyebilir. Kontrat'ta admin yetkisi, durdurma fonksiyonu veya zorla kilit açma mekanizması yoktur.

Trustless Özellikler
  • ·Admin yoktur — kimse kiliti zorla açamaz
  • ·Owner kontrolü — sadece kilitleyen açabilir
  • ·Süre kontrolü — unlockTime geçmeden açılmaz
  • ·Herkese açık — herhangi bir LP NFT kilitlenebilir
  • ·PolygonScan'de doğrulanmış

Kontrat Adresi

0x3df61b76622eC494cEE2f586914DB14913c5CA98

Fonksiyonlar

FONKSİYONYETKİ
lock(nftContract, tokenId, unlockTime, label)Herkese açık
unlock(lockId)Sadece kilit sahibi + süre dolmuş
getLock(lockId)Görüntüleme (view)
locksByOwner(address)Görüntüleme (view)
activeLocks()Görüntüleme (view)

Kilit Veri Yapısı

struct Lock { address owner; // kilitleyen cüzdan address nftContract; // Uniswap V3 Position Manager uint256 tokenId; // LP NFT token ID uint256 unlockTime; // Unix timestamp (kilit açılma zamanı) string label; // açıklama (max 128 karakter) bool withdrawn; // kilit açıldı mı? }

Kilitleme Akışı

1
LP NFT seç
Uniswap V3 pozisyonu — cüzdanda NFT olarak durur
2
Approve
NFT'yi locker kontratına yetkilendir
3
lock()
Süreyi ve etiketi belirle, TX imzala
4
Kilitlendi
Herkes /locker sayfasında görebilir
5
unlock()
Süre dolunca sadece sahip açabilir

09Güvenlik Modeli

🔑
ECDSA İmza
Tüm kritik işlemler cüzdan imzasıyla korunur. 5 dakikalık replay penceresi.
⏱️
Rate Limiter
Kritik endpoint'lerde dakikada 5 istek limiti. 429 döner.
🔗
On-Chain Kontrol
Domain tier ve partner durumu her istekte balanceOf/ownerOf ile zincirden okunur.
Trading Pause
VOI kontratında flash loan saldırısına karşı acil durdurma. Normalde pasif.
🏛️
DAO Geçiş Planı
GaruraPool V2'de 2 adımlı admin transferi mevcut. Proje büyüdükçe topluluk yönetimine devredilecek.
🔒
Sır Yönetimi
ADMIN_PRIVATE_KEY ve Firebase credentials Vercel'de şifreli. NEXT_PUBLIC_ olmayan değişkenler sadece sunucu tarafında çalışır.

10Teknik Altyapı

Firestore Koleksiyonları

kullanicilar/{wallet} puan, epochPuan tamamlananGorevler[] tier: 'basic' | 'domain-holder' seasons/{seasonId} token, amount, startTime, endTime status, totalCommitted, totalEarned garuraRegistrations/{docId} committedPoints, earnedDuringSeason claimed, claimedAmount, txHash domainProfiles/{name} displayName, bio, avatarUrl, links[] partners/{wallet} domainTokenId, activated, tasks[]

API Rotaları

ROUTEAUTH
/api/missions
/api/mission/completeİmza
/api/garura/season
/api/garura/registerİmza
/api/garura/claimİmza
/api/partner/activateİmza + chain
/api/domain/has-domain
/api/domain/metadata/[id]
/api/voi-price

11Yol Haritası

Canlı
  • ·.heylogramtv ERC-721 domain
  • ·Domain marketplace
  • ·VOI + HEY + URA + GARURA
  • ·Görev ekonomisi (ECDSA)
  • ·Garura havuzu V2
  • ·Partner sistemi + PartnerPool
  • ·Uniswap V3 LP Locker
  • ·URA tıklama sistemi
Yakında
  • ·Heylogram.tv canlı yayın (HEY)
  • ·Yayıncı NFT koleksiyonu (ERC-1155)
  • ·Web3 arama — domain içerik keşfi
  • ·CURBAN — AI görsel + NFT
  • ·Referans sistemi
  • ·Topluluk yönetimi (DAO)

12LuckPool — Şans Havuzu

Mimarı

Kullanıcı mevcut Locker kontratına LP NFT kilitler. LuckPool bu kontratın üzerinde yalnızca ödül katmanı olarak çalışır. Locker değişmez; LuckPool sadece okunur.

Kontrat Adresi

0xd20e8ABDd5b767D6E112F0f51B058BDa0715B9Cf

Fonksiyonlar

FonksiyonAçıklamaErişim
addPrize(token, amount)Prize havuzuna token ekle — geri çekilemezonlyAdmin
register(lockId)Locker lock ID'sini buraya kaydetHerkes
claim(entryId)Random prize al — lock doğrulandıktan sonraSahip
getPrizePool()Tüm token adresleri ve kalan miktarlarHerkes
canClaim(entryId)Claim yapılabilir mi kontrol etHerkes

Rastgelelik Algoritması

rand = keccak256( block.prevrandao, // Polygon PoS random block.timestamp, entryId, unlockTime, msg.sender, block.coinbase ) token = available[rand % count] amount = (rand2 % maxAmt) + 1e18 // min: 1 token | max: %5 havuz | hard cap: 1000

Akış

1
Locker'a kilitle
LP NFT → 0x3df61b76...
2
register(lockId)
Lock sahibi doğrulanır, entry oluşturulur
3
Oyun oyna
Token ikonlarını patlatma — Candy Crush tarzı
4
claim(entryId)
Random token seçilir, transfer edilir

13Likidite Madenciliği

Kontrat Adresi

0xfF07dedAa182F1A1Ad4E83780DED2A52726B4A05

Parametreler

ParametreStandartAngel
Kilit Süresi30 gün180 gün
Min YatırımHerhangi100 POL
JVOI Ödül Oranı%1 (100 BPS)%5 (500 BPS)
İade Timeout48 saat48 saat
Uniswap Fee Tier0.3% (3000)0.3% (3000)
Tick Range−887220 / +887220−887220 / +887220

Backend Entegrasyonu

// Kullanıcı deposit() çağırır (POL + JVOI gönderir) // Backend bu event'i dinler: event Deposited(address user, uint256 positionId, ...) // Backend Uniswap V3'te LP pozisyonu oluşturur: NPM = 0xC36442b4a4522E871399CD717aBDD847Ab11FE88 NPM.mint(MintParams{ token0:WMATIC, token1:JVOI, fee:3000, ... }) // Backend LiquidityMining'e NFT'yi bağlar: lockPosition(positionId, nftTokenId) // onlyAdmin // 48 saat dolup NFT bağlanmazsa kullanıcı iade alır: refundPosition(positionId) // POL + JVOI geri

Güvenlik: refundPosition()

Backend 48 saat içinde LP NFT bağlamazsa kullanıcı hem POL hem JVOI'sini geri alır. Kontrat native POL tuttuğu için doğrudan transfer edilir — WMATIC unwrap gerekmez.

HEYLOGRAM.TV TECHNICAL PAPER — 2026