Lastlight
DApp rencana kelanjutan aset di BOT Chain. Pemilik menyetor BOT untuk satu penerima, menjaga kendali lewat check-in berkala, dan penerima dapat mengklaim setelah tenggat akhir lewat.
- Role
- Solo builder. Saya merancang alur produk, membuat frontend dan smart contract, serta memverifikasi deployment dan siklus transaksi di BOT Chain.
- Timeline
- September 2026; aplikasi dan contract Mainnet dipublikasikan pada 25 September 2026.
Stack
- TypeScript
- Vite
- Solidity
- Foundry
- viem
- BOT Chain
- Playwright
Problem
Rencana untuk menyerahkan aset digital kepada orang lain memiliki dua kebutuhan yang berbeda: pemilik harus tetap bisa mengendalikan dananya selama aktif, dan penerima memerlukan cara yang jelas untuk mengklaimnya jika pemilik berhenti melakukan check-in. Perubahan tenggat harus dapat diperiksa dari aturan yang sama oleh kedua pihak.
Lastlight dibuat untuk satu pemilik, satu penerima, dan satu setoran BOT per plan. Produk ini tidak mendeteksi kematian atau memastikan identitas seseorang. Tenggat hanya mengubah siapa yang boleh bertindak; dana tidak pernah berpindah sendiri ketika waktu habis.
Approach
Pemilik menghubungkan wallet di BOT Chain Mainnet, memilih wallet penerima, jumlah BOT, interval check-in, dan tambahan waktu setelah interval berakhir. Sebelum mendanai plan, aplikasi menampilkan ringkasan aturan dan biaya transaksi. Contract mencatat parameter tersebut bersama setoran.
Selama tenggat akhir belum lewat, pemilik dapat check-in untuk memperbarui jadwal, mengganti penerima, atau menutup plan dan mengambil kembali dana. Setelah tenggat akhir, hak pemilik berakhir dan hanya wallet penerima yang ditunjuk dapat mengirim transaksi klaim. Penerima tetap harus membuka aplikasi, menghubungkan wallet, dan membayar biaya transaksi sendiri.
Daftar plan, status, dan tenggat dibaca dari BOT Chain. Label serta pengingat lokal hanya membantu pengguna mengelola plan di browser; keduanya tidak mengubah aturan contract.
Architecture
Pemilik + wallet ----> Buat plan dan setor BOT
| |
| v
+-- check-in ------> LastlightVault di BOT Chain
| |
+-- ubah penerima -------+
+-- tutup plan ----------+
|
Tenggat akhir lewat
|
v
Penerima + wallet --------> Klaim BOT
Frontend dibuat dengan TypeScript dan Vite, sedangkan akses wallet dan pembacaan chain menggunakan viem. Smart contract Solidity memegang aturan otorisasi dan waktu. Pemeriksaan di UI membantu pengguna memahami status, tetapi keputusan transaksi tetap ditegakkan contract.
Saya menguji aturan domain, contract, dan alur browser. Deployment disimpan sebagai record terpisah untuk Mainnet dan Testnet, sehingga frontend publik dapat diarahkan ke alamat contract Mainnet yang telah diverifikasi.
Outcome
Lastlight sudah dapat digunakan di BOT Chain Mainnet. Source tersedia di GitHub, dan contract Mainnet terverifikasi di explorer.
Siklus dengan setoran 0,01 BOT telah dicatat di Mainnet: plan dibuat, diperbarui lewat check-in, lalu diklaim penerima. Alur create-to-claim dengan dana juga telah dijalankan di Testnet.
Lessons
Project ini memperjelas pentingnya membedakan perubahan hak dari perpindahan dana. Ketika tenggat habis, contract tidak mengirim BOT secara otomatis. Penerima harus melakukan klaim, dan UI perlu menjelaskan keadaan tersebut tanpa memberi kesan bahwa transfer sudah terjadi.
Saya juga belajar menjaga kesesuaian antara alamat contract, jaringan wallet, dan bukti deployment. Ketiganya harus menunjuk ke rilis yang sama agar status yang dilihat pengguna dapat dipercaya.