Base Transfer adalah aplikasi transfer ETH di jaringan Base Mainnet yang dibangun menggunakan:
- 🧠 React + Tailwind CSS v4.1.17 untuk antarmuka modern dan responsif
- ⚙️ Node.js + Express + Ethers.js untuk backend pengiriman transaksi dan estimasi gas fee
- 💾 Penyimpanan log transaksi lokal (
transactions.json) - 🌗 Dukungan Dark Mode / Light Mode dengan penyimpanan preferensi otomatis
- Input alamat tujuan & jumlah (IDR)
Mengonversi IDR ke ETH secara otomatis berdasarkan kurs dari CoinGecko. - Estimasi transaksi otomatis
Menampilkan estimasi biaya gas (ETH dan IDR) dan total keseluruhan. - Kirim transaksi langsung ke jaringan Base
Transaksi dikonfirmasi melalui RPC Base Mainnet dan ditampilkan link-nya ke Basescan. - Dark mode toggle (persisted)
Menggunakandata-theme="dark"dengan@custom-variantdari Tailwind v4. - Countdown sinkronisasi saldo (10 detik) setelah transaksi sukses.
- Tombol reset otomatis setelah transaksi berhasil — mengembalikan UI ke kondisi awal.
- Endpoint
/api/estimate- Menghitung estimasi gas fee dan total ETH berdasarkan input IDR.
- Endpoint
/api/send- Mengirim transaksi on-chain menggunakan private key dari
.env. - Mencatat log transaksi ke file
transactions.json:{ "timestamp": "2025-11-11T12:00:00.000Z", "from": "0xServerWallet", "to": "0xReceiver", "idr": 600, "ethAmount": "0.00001055", "txHash": "0xabc...", "blockNumber": 123456, "gasUsed": "21000" }
- Mengirim transaksi on-chain menggunakan private key dari
- Endpoint
/api/balance- Mengambil saldo wallet server dalam ETH dan konversi ke IDR.
- Endpoint
/api/txlogs(opsional, hanya untuk development)
Mengembalikan daftar seluruh transaksi yang tersimpan ditransactions.json.
base-transfer-ui/
├─ src/
│ ├─ App.jsx
│ ├─ main.jsx
│ ├─ index.css
├─ public/
├─ postcss.config.cjs
├─ tailwind.config.js
├─ vite.config.js
├─ package.json
└─ README.md
server.js
.env
transactions.json
npm install express cors body-parser axios ethers dotenv
node server.jsBuat file .env:
PRIVATE_KEY=0xYOUR_PRIVATE_KEY
RPC_URL=https://mainnet.base.org
PORT=3001cd base-transfer-ui
npm install
npm run devBuka di browser: http://localhost:5173
| Endpoint | Method | Deskripsi |
|---|---|---|
/api/estimate |
POST | Estimasi biaya gas dan total ETH |
/api/send |
POST | Kirim transaksi ETH |
/api/balance |
GET | Ambil saldo wallet + kurs ETH→IDR |
/api/txlogs |
GET | (Dev) Lihat log transaksi lokal |
| Komponen | Versi | Deskripsi |
|---|---|---|
| React | ^19.2.0 | Library UI utama |
| Tailwind CSS | ^4.1.17 | Styling utilitas modern |
| Vite | ^7.2.2 | Dev server & bundler |
| Ethers.js | ^6.15.0 | Interaksi blockchain Base |
| Express.js | ^4.x | Server API backend |
| CoinGecko API | — | Kurs ETH ke IDR realtime |
Jangan pernah commit
.envke repository publik. Pastikan private key hanya digunakan pada wallet dengan saldo terbatas. Untuk produksi, pertimbangkan enkripsi atau database terproteksi.
Proyek ini dirilis di bawah lisensi MIT. Dikembangkan dengan ❤️ oleh 0xFAS.
❤️ Thank You