Telegram Web K'nin açık kodunda — web.telegram.org/k adresindeki web sürümünde — 30 Ekim'de Gram cüzdanı tamamen ortaya çıktı: bakiye, geçmiş, gönderme ve alma, gizli ifade, koleksiyonluk öğeler, sohbetlerde transferler ve TON Connect ile. 2 Kasım'da gizlendi: WALLET_RELEASED sabiti false olarak ayarlı ve manuel olarak değiştirilene kadar hiçbir menü öğesi, bağlantı veya düğme cüzdana yönlendirmiyor. web.telegram.org/k sitesinde cüzdan henüz yok; orada 30 Ekim derlemesi var, cüzdan commit'inden dört buçuk saat önce derlenmiş. İkinci web sürümü olan Web A'da ise cüzdan zaten canlı derlemede: iOS ve Android uygulamalarındakiyle aynı olan wallet_available sunucu bayrağı tarafından gösteriliyor. Bu durum, Telegram'ı tarayıcıdan kullananları ilgilendiriyor.

Web K Kodunda Neler Var

Cüzdan, 30 Ekim 19:18 UTC'de tek bir commit ile birleştirildi: 284 dosya, 48.483 satır eklendi, 375 satır silindi. Commit açıklaması, iOS ve Android istemcilerini örnek olarak gösteriyor. İçinde şunlar var:

BölümÖzellikler
BakiyeGram cinsinden ve seçilen para birimindeki miktar
Geçmişişlem sayfaları önbelleğe alınır
Göndermekişiye, kullanıcı adına, adrese veya TON DNS alan adına, yorumla birlikte
Almaadres, QR kodu, yükleme
Gizli İfadeyedekleme, dışa aktarma, kelime kontrolü
Şifreli Anahtar Yedeklemesietkinleştirme ve devre dışı bırakma; devre dışı bırakıldığında gizli ifade değiştirilebilir
Eski Cüzdancihazdaki ikinci cüzdan ana cüzdanın yanında bulunur
Koleksiyonluk Öğelergörüntüleme ve gönderme
Sohbetlerde Transferlerayrı bir kart, transfer devam ederken "gönderiliyor"
TON Connectuygulamaları bağlama ve isteklerine yanıt verme; cüzdan kapalıyken istekler bekler

İşlemleri ve anahtarları istemcinin kendisi değil, TON Core geliştiricisi tarafından Rust ile yazılmış çapraz platform TON cüzdanı olan wallet-engine motoru hesaplar. npm'de bulunmuyor: web paketi, GitHub'daki bir sürümden arşiv olarak alınıyor, şu anda 30 Eylül tarihli 0.0.7 sürümü, ve ayrı bir betik arşivi yayınlanmış sağlama toplamıyla karşılaştırıyor. Aynı sürümlerde Android, Swift, macOS, Linux ve Windows için motor derlemeleri de bulunuyor.

Birleştirme ve gizleme arasında cüzdan üç kez düzeltildi ve bu üç düzeltme de TON adresi menüsüyle ilgiliydi: harici bir katkıda bulunanın istek #750 ile birleştirilen iki commit'i ve Web K'nin baş geliştiricisinin bir commit'i. Artık bir adrese tıklandığında istemci, sahibini zaten yüklenmiş profillerde ve mesaj yazarının, sohbet arkadaşının ve kendi hesabının cüzdan kartlarında arar, ardından sunucuya sorar ve diğer profilleri yalnızca sunucu cüzdanın kimseye bağlı olmadığını yanıtlarsa yükler. Sahibi, Android istemcisinin boyutlarında bir avatarla birlikte bir satırda gösterilir.

Web A'da Neler Var

İkinci web sürümü olan telegram-tt'de Gram cüzdanı daha önce ortaya çıktı — 12 Ekim'de 26.255 satırlık "Wallet: Introduce Gram Wallet" commit'iyle. 26 Ekim'de WebGPU efektleriyle yeni bir gönderme ekranı eklendi ve ayrı commit'lerle TON Connect bağlantı kontrolü ve ikinci tarafın bir kanal veya Telegram hediyesi olduğu işlemler eklendi.

web.telegram.org/a adresindeki derleme — 26 Ekim tarihli 12.0.48 sürümü — cüzdanı içeriyor: ayrı bir modül olarak yükleniyor ve sunucu hesaba yapılandırmada wallet_available gönderirse istemci tarafından gösteriliyor. Aynı yapılandırma, minimum transfer miktarını (wallet_transfer_min_nanos) ve günlük ağ ücreti ödemeden yapılabilecek transfer sayısını (wallet_gasless_daily_transfers) da belirliyor.

Ne Yapmalı

  • Şu anda tarayıcıda cüzdan gerekiyor — web.telegram.org/a adresini deneyin: orada zaten erişilebilir olabilir. Gösterim, telefon uygulamalarındakiyle aynı sunucu bayrağı tarafından belirlenir, bu nedenle sunucunun etkinleştirmediği bir hesap için tarayıcıda cüzdan görünmez.
  • Web K kullanıyorsanız — cüzdan henüz ne menüde, ne ayarlarda, ne de ayarlar aramasında görünmeyecektir. t.me/sendgrams bağlantısı yayınlanana kadar normal bir kullanıcı adı bağlantısı olarak açılır ve mesajdaki TON adresi düz metin olarak görünür.
  • Web K sohbetinde bir transfer geldiyse — transfer kartı görünür ancak yayınlanana kadar açılmaz: ayrıntıları ve şifreli yorumu telefon uygulamasında görüntüleyin.
  • Tarayıcıdaki hesaptan çıkmadan önce gizli ifadenin kaydedildiğinden veya yedeklemenin etkinleştirildiğinden emin olun. Web sürümü cüzdan anahtarlarını cihazda saklar ve Web K kodunda çıkış ekranı bunu ayrıca uyarır (aşağıdaki bölüm). İfadeyi nasıl bulacağınız ve kaydedeceğiniz yardım makalesinde açıklanmıştır.

Cüzdan Yayınlanana Kadar Nasıl Gizlendi

Gizleme işlemi 2 Kasım'da iki commit ile gerçekleşti. İlk olarak 14:31 UTC'de sohbet menüsünden, Gram transfer menüsünden ve TON adresi menüsünden "Send Money" öğesi kaldırıldı, geri kalanı hala sunucuya bağlıydı. 15:23 UTC'de ikinci commit her şeyi kapattı: lib/wallet/release.ts dosyasında WALLET_RELEASED = false sabiti belirdi. Açıklamasına göre bu bir ayar değil: yayın günü kodda değiştirilecek.

Bu false olduğu sürece, ana menüdeki ve ayarlardaki "Wallet" öğesi (istemci bu satır için bakiye bile istemez), ayarlar arama sonucu, ekler menüsündeki öğe, tüm "Send Money" düğmeleri, cüzdan penceresi, cüzdan ve TON Connect bağlantıları, TON adresi menüsü ve TON Connect istekleri kapalıdır. Cüzdan yalnızca açılır pencere sanal alanında açık kalır — bu, hata ayıklama ve önizleme derlemelerinde bulunur ve sunucuya istek göndermeden sahte verilerle çalışır.

Yayınlandıktan sonra karar sunucuya ait olacak, ancak Web A'dan farklı bir varsayılanla: Web K, cüzdanı yalnızca wallet_available bayrağı "hayır" değeriyle gelirse gizleyecek, Web A ise cüzdanı yalnızca bayrak "evet" değeriyle gelirse gösterecektir.

Tarayıcıdaki Anahtarlar

Telegram cüzdan anahtarı şifreli bir yedeklemede tutulabilir. Web K'de yedeklemenin etkinleştirilmesi ve devre dışı bırakılması, koddaki yoruma göre iOS istemcisini tekrarlar ve satırlar bunu şöyle açıklar: yedekleme üç parçaya bölünür ve üç kıtadaki veri merkezlerinde saklanır, yalnızca sahibinin cihazlarında bir araya getirilir. Yedekleme devre dışı bırakılırsa, cüzdan yalnızca gizli ifade ile kurtarılabilir. Devre dışı bırakıldığında istemci, aynı zamanda ifadeyi değiştirmeyi önerir: adres ve bakiye aynı kalır, değişiklik ağa kaydedilir ve bir ağ ücreti gerektirir, sıfır bakiye ile yapılamaz.

Buradan hesaptan çıkarken uyarılar gelir. Web K'de dört tane vardır: cüzdan anahtarları yalnızca bu cihazdadır ve Telegram'ın bir kopyası yoktur; cihazda başka bir eski cüzdanın anahtarları vardır; anahtar değişikliği onaylanmamıştır ve yeni anahtar yalnızca buradadır; ve genel durum — anahtarlar varsa, çıkış onları yok edecektir. İlk üç durumda cüzdan yalnızca gizli ifade ile geri getirilebilir, son durumda ise Telegram yedeklemesi veya ifade ile.

Nasıl Doğrulandı

  • Web K kodu: cüzdan commit'i (30.10, 19:18 UTC, +48.483/−375, 284 dosya), Send Money'nin gizlenmesi ve cüzdanın gizlenmesi (02.11), sabit içeren dosya, src/lang.ts içindeki cüzdan satırları, package.json içindeki @ton/wallet-engine bağımlılığı ve güncelleme betiği.
  • web.telegram.org/k sitesi: sayfa 30 Ekim 14:47 UTC Last-Modified ile sunuldu — bu, 14:46 UTC derleme commit'idir; 30 Ekim commit'inden cüzdan animasyonları sitede yok, adresleri yönlendirme ile yanıt veriyor.
  • Web A kodu ve sitesi: cüzdan commit'i (12.10), gönderme ekranı (26.10); canlı derleme 12.0.48'de (26 Ekim 18:09 UTC Last-Modified) — cüzdan modülü, openWalletModal ve wallet_available, wallet_transfer_min_nanos, wallet_gasless_daily_transfers yapılandırma alanları.
  • Motor: wallet-engine sürümleri — 19 Ağustos tarihli 0.0.1'den 30 Eylül tarihli 0.0.7'ye kadar.