Tinjauan Arsitektur
Alur Produk secara Detail
1
Fase 1: Pembuatan Token
Apa yang terjadi:
- Pengguna memanggil
deployBondkitToken()
pada Factory contract - Factory mengklon Implementation contract menggunakan pola proxy minimal
- Token baru diinisialisasi dengan parameter khusus
- Token secara otomatis memasuki fase bonding
2
Fase 2: Perdagangan Kurva Bonding
Apa yang terjadi:
- Pengguna membeli/menjual token langsung dari kontrak
- Harga mengikuti kurva bonding algoritmik:
S = S_final × (R/R_target)^exponent
- Biaya 5% untuk semua perdagangan diberikan kepada penerima biaya
- Kontrak mengakumulasi aset kutipan (ETH/B3) menuju target
- Backend mengindeks semua transaksi untuk analitik
- Beli: Kirim ETH/B3, terima token dengan harga kurva saat ini
- Jual: Kirim token, terima ETH/B3 dikurangi biaya
- Pengembalian dana otomatis jika pembelian akan melebihi target
3
Fase 3: Migrasi DEX
Apa yang terjadi:
- Admin memanggil
migrateToDex()
ketika target tercapai - Kontrak menghitung harga pasar yang adil sebagai
sqrtPriceX96
- Membuat dan menginisialisasi pool Uniswap v4
- Mentrasfer likuiditas terakumulasi ke pool
- Melepaskan kepemilikan ke alamat nol
- Token menjadi ERC20 standar dengan perdagangan DEX
- Kurva bonding dinonaktifkan secara permanen
- Semua perdagangan melalui Uniswap v4
- Tidak ada kontrol admin yang tersisa
- Desentralisasi penuh tercapai
Komponen Sistem
Smart Contracts
🏭 Factory Contract
🏭 Factory Contract
Tujuan: Meluncurkan token bond baru secara efisienFungsi Utama:
deployBondkitToken()
- Membuat klon token barugetImplementationAddress()
- Mengembalikan alamat templatesetAllowedQuoteAsset()
- Fungsi admin untuk memasukkan daftar aset
- Menggunakan pola proxy minimal EIP-1167
- Berbagi logika di semua token
- ~90% penghematan gas vs penyebaran individu
📜 Implementation Contract
📜 Implementation Contract
Tujuan: Template untuk semua token bondFitur Inti:
- Kepatuhan standar ERC20
- Matematika kurva bonding
- Logika migrasi ke Uniswap v4
- Sistem distribusi biaya
- Belum Diinisialisasi → Fase Bonding
- Fase Bonding → Siap Migrasi
- Siap Migrasi → Fase DEX
🪙 Token Clones
🪙 Token Clones
Tujuan: Instansi token individuSiklus Hidup:
- Dibuat melalui factory
- Diinisialisasi dengan parameter unik
- Mengelola kurva bondingnya sendiri
- Migrasi sendiri ke Uniswap v4
- Metadata token (nama, simbol)
- Pasokan dan distribusi
- Status kurva bonding
- Parameter migrasi
Layanan Backend
🔍 Event Indexer
🔍 Event Indexer
Tujuan: Menangkap semua aktivitas on-chainMemantau:
- Pembuatan token
- Transaksi beli/jual
- Event migrasi
- Aktivitas transfer
- Pemindaian blockchain real-time
- Pengolahan log event
- Sinkronisasi database
📊 Analytics Engine
📊 Analytics Engine
Tujuan: Mengolah data mentah menjadi wawasanMenghasilkan:
- Data candlestick OHLCV
- Metrik volume
- Pelacakan likuiditas
- Riwayat harga
- Statistik pengguna
🌐 REST API
🌐 REST API
Tujuan: Menyajikan data ke frontendEndpoints:
/tokens
- Daftar semua token/tokens/{address}
- Detail token/tokens/{address}/transactions
- Riwayat perdagangan/tokens/{address}/ohlcv
- Data grafik/users/{address}/portfolio
- Kepemilikan pengguna
Peran Pengguna
Peran | Tanggung Jawab | Izin |
---|---|---|
Pencipta | Meluncurkan token, menetapkan parameter, memulai migrasi | Kontrol penuh sampai migrasi |
Pedagang | Beli/jual selama bonding, perdagangan di DEX | Hak perdagangan standar |
Penerima Biaya | Menerima biaya perdagangan | Pendapatan pasif saja |
Admin Migrasi | Menjalankan migrasi saat siap | Hak migrasi satu kali |
Penyedia LP | (Pasca-migrasi) Menambahkan likuiditas ke Uniswap | Hak LP standar |
Penyelaman Teknis Mendalam
Matematika Kurva Bonding
Kurva bonding menentukan harga token berdasarkan pasokan:Agresivitas | Eksponen | Perilaku Harga |
---|---|---|
0 | 1.00 | Linier (harga konstan) |
25 | 0.80 | Kurva lembut |
50 | 0.67 | Kurva moderat |
75 | 0.57 | Kurva curam |
100 | 0.50 | Sangat curam (akar kuadrat) |
Perhitungan Harga Migrasi
Saat bermigrasi ke Uniswap v4, kontrak:- Menghitung harga keluar dari kurva bonding
- Mengonversi ke format sqrtPriceX96:
- Menginisialisasi pool dengan harga ini
- Menambahkan likuiditas menggunakan dana terakumulasi
Teknik Optimisasi Gas
Pola Proxy Minimal (EIP-1167)Daripada menerapkan kode kontrak penuh untuk setiap token:
- Terapkan satu kontrak implementasi (600KB)
- Terapkan kontrak proxy kecil (45 byte masing-masing)
- Proxy mendelegasikan semua panggilan ke implementasi
- Hasil: 90% penghematan gas per penyebaran
Parameter Konfigurasi
Parameter Pembuatan Token
Parameter | Tipe | Rentang/Format | Dampak |
---|---|---|---|
name | string | 1-50 karakter | Nama tampilan token |
symbol | string | 2-10 karakter | Simbol perdagangan |
finalTokenSupply | uint256 | > 0 | Total token yang dapat dicetak |
aggressivenessFactor | uint8 | 0-100 | Kecerunan kurva |
targetEth | uint256 | > 0 | Ambang batas migrasi |
feeRecipient | address | Alamat valid | Menerima biaya |
lpSplitRatioFeeRecipientBps | uint256 | 0-10000 | Bagian biaya LP (basis poin) |
migrationAdminAddress | address | Alamat valid | Dapat memicu migrasi |
Parameter Runtime
Aksi | Parameter | Validasi |
---|---|---|
Beli | minTokensOut , ethAmount | Perlindungan slippage |
Jual | tokenAmount , minEthOut | Pemeriksaan saldo, slippage |
Migrasi | Tidak ada | Target tercapai, hanya admin |
Konstanta Sistem
Konstanta | Nilai | Deskripsi |
---|---|---|
Biaya Perdagangan | 5% | Diterapkan pada semua perdagangan |
Desimal | 18 | Desimal ERC20 standar |
Target Min | 0.1 ETH | Target layak minimum |
Agresivitas Maks | 100 | Faktor kurva maksimum |
Pertimbangan Keamanan
Fitur Keamanan Penting:
- Pelepasan Kepemilikan: Otomatis setelah migrasi
- Tidak Ada Fungsi Mint: Pasokan tetap saat pembuatan
- Parameter Tidak Dapat Diubah: Tidak dapat diubah pasca-penyebaran
- Kontrak Diaudit: Kode yang ditinjau secara profesional
- Tidak Ada Pintu Belakang Admin: Desentralisasi sejati
- Perlindungan Slippage: Terintegrasi dalam fungsi beli/jual
- Perlindungan Overflow: Matematika aman di seluruh
Skenario Kegagalan & Penanganan
Skenario | Respons Sistem |
---|---|
Pembelian melebihi target | Pengisian sebagian, pengembalian kelebihan |
Likuiditas tidak cukup untuk penjualan | Transaksi dibatalkan |
Migrasi sebelum target | Transaksi dibatalkan |
Upaya migrasi oleh non-admin | Transaksi dibatalkan |
Upaya migrasi ganda | Transaksi dibatalkan |
Operasi alamat nol | Transaksi dibatalkan |