From e717fe925e65dbf5980f66ed755d8bd41f4e4ede Mon Sep 17 00:00:00 2001 From: "cto-new[bot]" <140088366+cto-new[bot]@users.noreply.github.com> Date: Sat, 10 Jan 2026 05:13:12 +0000 Subject: [PATCH] docs(readme): add Indonesian README and link in main README - Added README.id.md with Indonesian documentation for Devnet Faucet - Updated README.md to reference README.id.md, enabling bilingual navigation - Improves accessibility and onboarding for Indonesian-speaking users --- README.id.md | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 173 insertions(+) create mode 100644 README.id.md diff --git a/README.id.md b/README.id.md new file mode 100644 index 0000000..e5e577a --- /dev/null +++ b/README.id.md @@ -0,0 +1,172 @@ +# Devnet Faucet + +## Apa itu Project Ini? + +**Devnet Faucet** adalah aplikasi web yang memungkinkan siapa saja untuk mendapatkan token SOL gratis di jaringan testnet Solana (devnet). Project ini dirancang untuk membantu developer blockchain yang sedang mengembangkan aplikasi atau smart contract di ekosistem Solana tanpa harus mengeluarkan biaya untuk token sungguhan. + +## Tujuan Project + +### 1. **Mempermudah Akses Token Testing** +Developer yang ingin mengembangkan aplikasi di Solana membutuhkan SOL token untuk membayar transaction fees. Di testnet (devnet), token ini tidak memiliki nilai ekonomi nyata, namun tetap diperlukan untuk testing. Faucet ini memberikan akses mudah dan cepat untuk mendapatkan token tersebut. + +### 2. **Mendukung Ekosistem Solana** +Dengan menyediakan token devnet secara gratis, project ini membantu menurunkan barrier of entry bagi developer baru yang ingin belajar dan berkontribusi pada ekosistem Solana. + +### 3. **Verifikasi Kontributor Aktif** +Menggunakan data dari Electric Capital Crypto Ecosystems, aplikasi ini memverifikasi bahwa pengguna yang meminta airdrop adalah kontributor aktif pada repository-repository dalam ekosistem Solana. Ini memastikan token testnet diberikan kepada developer yang benar-benar membutuhkannya. + +### 4. **Mencegah Penyalahgunaan** +Implementasi rate limiting memastikan bahwa satu pengguna tidak dapat menyalahgunakan faucet dengan melakukan request berlebihan. Ini menjaga ketersediaan token untuk semua developer yang membutuhkan. + +## Fitur Utama + +- **🔐 Autentikasi GitHub**: Pengguna login menggunakan akun GitHub mereka +- **✅ Verifikasi Otomatis**: Sistem secara otomatis memverifikasi kontribusi GitHub terhadap ekosistem Solana +- **⏱️ Rate Limiting**: Pembatasan frekuensi request untuk mencegah spam dan abuse +- **🚀 Self-Hostable**: Dapat di-deploy sendiri dengan mudah di Vercel atau platform hosting lainnya +- **⚙️ Konfigurasi Fleksibel**: Pemilik faucet dapat mengatur jumlah airdrop dan wallet yang digunakan +- **📊 Admin Dashboard**: Panel admin untuk melihat statistik dan mengelola vouch system + +## Cara Kerja + +1. **Login**: Pengguna melakukan autentikasi menggunakan GitHub OAuth +2. **Verifikasi**: Sistem memeriksa apakah pengguna berkontribusi pada repository Solana +3. **Request Airdrop**: Pengguna memasukkan alamat wallet Solana mereka +4. **Validasi**: Sistem memeriksa rate limit dan validasi lainnya +5. **Transfer**: Jika semua validasi lolos, SOL token dikirim ke alamat yang diminta +6. **Konfirmasi**: Pengguna menerima konfirmasi beserta transaction signature + +## Teknologi yang Digunakan + +- **Next.js 14**: Framework React untuk aplikasi web modern +- **NextAuth.js**: Library autentikasi dengan support untuk GitHub OAuth +- **Solana Web3.js**: SDK untuk berinteraksi dengan blockchain Solana +- **Upstash KV & Rate Limit**: Database in-memory dan rate limiting +- **TypeScript**: Type-safe development +- **Tailwind CSS**: Utility-first CSS framework untuk styling +- **Vercel Analytics**: Tracking penggunaan aplikasi + +## Memulai Project + +### Prasyarat +- Node.js 18 atau lebih baru +- Akun GitHub (untuk OAuth) +- Solana CLI (untuk generate keypair) + +### Langkah-langkah Setup + +1. **Generate Faucet Key** +```bash +solana-keygen new --no-bip39-passphrase -o faucetkey.json +``` + +2. **Salin Private Key** +```bash +cat faucetkey.json +``` +Paste hasil di atas ke environment variable `SENDER_SECRET_KEY` + +3. **Salin Public Key** +```bash +solana-keygen pubkey faucetkey.json +``` +Paste hasil di atas ke environment variable `NEXT_PUBLIC_FAUCET_ADDRESS` + +4. **Set Jumlah Airdrop** +Set environment variable `NEXT_PUBLIC_AIRDROP_AMOUNT` (contoh: `0.5` untuk 0.5 SOL) + +5. **Install Dependencies** +```bash +npm install +``` + +6. **Jalankan Development Server** +```bash +npm run dev +``` + +7. **Buka Browser** +Akses [http://localhost:3000](http://localhost:3000) + +### Environment Variables + +Buat file `.env.development.local` dengan isi: + +```env +# Alamat public faucet wallet +NEXT_PUBLIC_FAUCET_ADDRESS= + +# Private key faucet wallet (format array JSON) +SENDER_SECRET_KEY= + +# Jumlah SOL yang dikirim per airdrop +NEXT_PUBLIC_AIRDROP_AMOUNT=0.5 + +# GitHub OAuth (dapatkan di GitHub Developer Settings) +GITHUB_ID= +GITHUB_SECRET= + +# NextAuth secret (generate dengan: openssl rand -base64 32) +NEXTAUTH_SECRET= +NEXTAUTH_URL=http://localhost:3000 + +# Upstash Redis (untuk rate limiting) +UPSTASH_REDIS_REST_URL= +UPSTASH_REDIS_REST_TOKEN= +``` + +## Deploy ke Production + +Project ini dapat di-deploy dengan mudah ke Vercel: + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fstakeware%2Fdevnetfaucet&env=NEXT_PUBLIC_FAUCET_ADDRESS,SENDER_SECRET_KEY,NEXT_PUBLIC_AIRDROP_AMOUNT&envDescription=Faucet%20address%2C%20airdrop%20amount%2C%20and%20the%20faucet's%20private%20key%20are%20all%20that%20you%20need&project-name=sol-devnet-faucet&repository-name=sol-devnet-faucet) + +Pastikan semua environment variables sudah di-set di dashboard Vercel. + +## Update Data Ekosistem + +Data repository Solana diambil dari Electric Capital Crypto Ecosystems. Untuk update data terbaru: + +```bash +# Download file solana.jsonl terbaru, lalu: +npx tsx scripts/update_ecosystem_data.ts +``` + +## Use Cases + +### Untuk Developer Blockchain +- Testing smart contract di Solana devnet +- Development dan debugging dApp +- Belajar Solana programming tanpa risiko finansial + +### Untuk Educator +- Mengajar workshop Solana development +- Menyediakan token testnet untuk peserta kursus +- Demo aplikasi blockchain + +### Untuk Open Source Contributors +- Testing kontribusi pada project Solana +- QA dan bug testing +- Integration testing + +## Kontribusi + +Project ini adalah open source. Kontribusi dalam bentuk bug report, feature request, atau pull request sangat diterima. + +## Lisensi + +Silakan cek file LICENSE di repository untuk informasi lisensi. + +## Atribusi Data + +Project ini menggunakan data dari [Electric Capital Crypto Ecosystems](https://github.com/electric-capital/crypto-ecosystems) untuk verifikasi repository Solana. + +Jika Anda bekerja di open source crypto, silakan [submit repository Anda di sini](https://github.com/electric-capital/crypto-ecosystems) agar dapat terdata. + +## Support + +Untuk pertanyaan atau bantuan, silakan buka issue di GitHub repository atau hubungi maintainer project. + +--- + +**Catatan Penting**: Token yang didistribusikan adalah SOL devnet yang tidak memiliki nilai ekonomi nyata. Hanya gunakan untuk keperluan testing dan development. diff --git a/README.md b/README.md index 1d72f6b..1a8f7dc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Devnet Faucet +*[Baca dalam Bahasa Indonesia](README.id.md)* This app allows anyone to set up a Solana faucet.