Dalam kode sumber terbuka Telegram Web K — versi web di web.telegram.org/k — pada 30 Oktober, Wallet Gram muncul secara lengkap: saldo, riwayat, pengiriman dan penerimaan, frasa rahasia (secret phrase), koleksi (collectibles), transfer di chat, dan TON Connect. Pada 2 November, ia disembunyikan: konstanta WALLET_RELEASED diatur ke false, dan sampai diubah secara manual, tidak ada item menu, tautan, atau tombol yang mengarah ke wallet. Di situs web.telegram.org/k, wallet tersebut belum tersedia — di sana masih menggunakan build 30 Oktober, yang dikompilasi empat setengah jam sebelum commit wallet. Di versi web kedua, Web A, wallet sudah ada di build yang aktif: ia ditampilkan oleh flag server wallet_available, sama seperti yang digunakan oleh aplikasi iOS dan Android. Ini berlaku bagi mereka yang menggunakan Telegram dari browser.

Apa yang Ada dalam Kode Web K

Wallet ini digabungkan (merged) dalam satu commit pada 30 Oktober pukul 19:18 UTC: 284 file, 48.483 baris ditambahkan, 375 dihapus. Deskripsi commit menyebutkan klien iOS dan Android sebagai contoh. Berikut adalah isinya:

BagianKemampuan
Saldojumlah dalam Gram dan mata uang yang dipilih
Riwayathalaman transaksi di-cache
Pengirimanke kontak, berdasarkan username, ke alamat atau domain TON DNS, dengan komentar
Penerimaanalamat, kode QR, top up
Frasa Rahasiacadangan, ekspor, verifikasi kata
Cadangan Kunci Terenkripsimengaktifkan dan menonaktifkan; saat dinonaktifkan, frasa rahasia dapat diubah
Wallet Lamawallet kedua di perangkat disimpan di samping wallet utama
Koleksimelihat dan mengirim
Transfer di Chatkartu terpisah, saat transfer berlangsung — "sedang dikirim"
TON Connectmenghubungkan aplikasi dan menanggapi permintaannya; permintaan menunggu saat wallet tertutup

Transaksi dan kunci tidak dihitung oleh klien itu sendiri, melainkan oleh engine wallet-engine — wallet TON lintas platform berbasis Rust dari pengembang TON Core. Ia tidak ada di npm: paket web diambil sebagai arsip dari rilis di GitHub, saat ini versi 0.0.7 dari 30 September, dan skrip terpisah memverifikasi arsip dengan checksum yang dipublikasikan. Di rilis yang sama, terdapat build engine untuk Android, Swift, macOS, Linux, dan Windows.

Antara penggabungan dan penyembunyian, wallet diperbaiki tiga kali, dan ketiga perbaikan tersebut terkait dengan menu alamat TON: dua commit dari kontributor luar, yang digabungkan melalui pull request #750, dan satu dari pengembang utama Web K. Kini, saat alamat diklik, klien mencari pemilik di profil yang sudah dimuat dan di kartu wallet penulis pesan, lawan bicara, dan akun Anda sendiri, kemudian bertanya kepada server, dan profil lainnya dimuat hanya jika server menjawab bahwa wallet tidak terhubung ke siapa pun. Pemilik ditampilkan sebagai baris dengan avatar dalam ukuran klien Android.

Apa yang Ada di Web A

Di versi web kedua, telegram-tt, Wallet Gram muncul lebih awal — dengan commit pada 12 Oktober "Wallet: Introduce Gram Wallet" sebanyak 26.255 baris. Pada 26 Oktober, layar pengiriman baru dengan efek WebGPU ditambahkan, dan dengan commit terpisah — verifikasi tautan TON Connect dan operasi di mana pihak kedua adalah channel atau hadiah Telegram.

Build di web.telegram.org/a — versi 12.0.48 dari 26 Oktober — berisi wallet: ia dimuat sebagai modul terpisah, dan klien menampilkannya jika server mengirimkan wallet_available di konfigurasi akun. Di sana juga, konfigurasi menetapkan jumlah transfer minimum (wallet_transfer_min_nanos) dan jumlah transfer harian tanpa biaya gas (wallet_gasless_daily_transfers).

Apa yang Harus Dilakukan

  • Membutuhkan wallet di browser sekarang — coba web.telegram.org/a: di sana mungkin sudah tersedia. Penampilan wallet ditentukan oleh flag server yang sama dengan aplikasi di ponsel, jadi wallet di browser tidak akan tersedia untuk akun yang belum diaktifkan oleh server.
  • Menggunakan Web K — wallet belum akan tersedia di menu, pengaturan, atau pencarian pengaturan. Tautan t.me/sendgrams sebelum rilis akan terbuka sebagai tautan username biasa, dan alamat TON dalam pesan akan menjadi teks biasa.
  • Menerima transfer di chat Web K — kartu transfer terlihat, tetapi tidak dapat dibuka sebelum rilis: detail dan komentar terenkripsi dapat dilihat di aplikasi ponsel.
  • Sebelum keluar dari akun di browser periksa apakah frasa rahasia sudah dicatat atau cadangan kunci terenkripsi sudah diaktifkan. Kunci wallet versi web disimpan di perangkat, dan dalam kode Web K, layar keluar memperingatkan tentang hal ini secara terpisah (bagian di bawah). Cara menemukan dan menyimpan frasa — di bantuan.

Bagaimana Wallet Disembunyikan hingga Rilis

Penyembunyian membutuhkan dua commit pada 2 November. Pertama, pada 14:31 UTC, item "Send Money" dihapus dari menu chat, menu transfer Gram, dan menu alamat TON; sisanya masih bergantung pada server. Pada 15:23 UTC, commit kedua menutup semuanya: konstanta WALLET_RELEASED = false muncul di file lib/wallet/release.ts. Menurut deskripsinya, ini bukan pengaturan: ia akan diubah dalam kode pada hari rilis.

Selama ia false, item "Wallet" di menu utama dan di pengaturan (klien bahkan tidak meminta saldo untuk baris ini), hasil pencarian pengaturan, item di menu lampiran, semua tombol "Send Money", jendela wallet, tautan wallet dan TON Connect, menu alamat TON, dan permintaan TON Connect semuanya tertutup. Wallet tetap terbuka hanya di popup sandbox — yang tersedia di debug dan preview build dan berfungsi dengan data mock (data palsu), tanpa permintaan ke server.

Setelah rilis, server yang akan memutuskan, tetapi dengan default yang berbeda dari Web A: Web K akan menyembunyikan wallet hanya jika flag wallet_available datang dengan nilai "tidak", sedangkan Web A akan menampilkannya hanya jika flag datang dengan nilai "ya".

Kunci di Browser

Kunci Wallet Telegram dapat disimpan dalam cadangan terenkripsi. Pengaktifan dan penonaktifan cadangan di Web K, menurut komentar dalam kode, meniru klien iOS, dan baris-barisnya menggambarkannya sebagai berikut: cadangan dibagi menjadi tiga bagian dan disimpan di pusat data di tiga benua, dan hanya dikumpulkan di perangkat pemilik. Jika cadangan dinonaktifkan, wallet hanya dapat dipulihkan dengan frasa rahasia. Saat dinonaktifkan, klien juga menawarkan untuk mengubah frasa: alamat dan saldo tetap sama, perubahan dicatat di jaringan dan dikenakan biaya transaksi (network fee), dan tidak dapat dilakukan dengan saldo nol.

Dari sinilah muncul peringatan saat keluar dari akun. Ada empat peringatan di Web K: kunci wallet hanya ada di perangkat ini dan Telegram tidak memiliki salinannya; kunci wallet lama lainnya juga ada di perangkat; perubahan kunci belum dikonfirmasi, dan kunci baru hanya ada di sini; dan kasus umum — jika kunci ada, keluar akan menghancurkannya. Dalam tiga kasus pertama, wallet hanya dapat dipulihkan dengan frasa rahasia, dalam kasus terakhir — dengan cadangan Telegram atau frasa.

Bagaimana Ini Diverifikasi

  • Kode Web K: commit wallet (30.10, 19:18 UTC, +48.483/−375, 284 file), penyembunyian Send Money dan penyembunyian wallet (02.11), file dengan konstanta, baris wallet di src/lang.ts, dependensi @ton/wallet-engine di package.json dan skrip pembaruannya.
  • Situs web.telegram.org/k: halaman dikirim dengan Last-Modified 30 Oktober 14:47 UTC — ini adalah commit build 14:46 UTC; animasi wallet dari commit 30 Oktober tidak ada di situs, alamatnya merespons dengan pengalihan.
  • Kode dan situs Web A: commit wallet (12.10), layar pengiriman (26.10); di build aktif 12.0.48 (Last-Modified 26 Oktober 18:09 UTC) — modul wallet, openWalletModal dan bidang konfigurasi wallet_available, wallet_transfer_min_nanos, wallet_gasless_daily_transfers.
  • Engine: rilis wallet-engine — 0.0.1 dari 19 Agustus hingga 0.0.7 dari 30 September.