13-oktabr kuni TON Core jamoasi Telegram hamyoni bo'yicha ekotizim uchun tavsiyalarni e'lon qildi. Alohida hamyon ilovalariga yangi hamyonlarni avvalgidek W5 (wallet-v5r1) kontraktida yaratishni, chunki Telegram hamyonining kontrakti, WalletTg, Telegramning o'zi uchun yaratilgan bo'lsa-da, mavjud Telegram hamyonlarini ularning maxfiy iborasi orqali ochishni o'rganish taklif qilindi. Bu Telegram hamyonini alohida ilovada ham saqlashni istagan har bir kishiga tegishli: My Wallet va Gram Wallet bunday importni allaqachon qo'llab-quvvatlaydi, uning kodi 6-oktabrdagi 26.10.0 versiyasida paydo bo'ldi.
Telegram hamyonini boshqa ilovada qanday ochish mumkin
- Hamyon manzilini yozib oling (Telegramdan). Keyinchalik, aynan o'sha hamyon ochilganligini tekshirish uchun foydalanasiz.
- Joriy iborani oling. Hujjatlarga ko'ra, Telegram Desktop'da u hamyon menyusida joylashgan: Keys & Backup → Show Recovery Phrase. Agar kalit o'zgartirilmagan bo'lsa, 12 ta so'z bo'ladi. Kalit o'zgartirilgandan so'ng ibora 24 ta so'zdan iborat bo'ladi va barcha 24 ta so'zni kiritish kerak. Iborani qanday saqlash alohida ko'rib chiqilgan.
- Iborani import qiling My Wallet yoki Gram Wallet'ga: Import Existing Wallet → Secret Words. Ikkala dastur ham bitta ochiq koddan yig'ilgan, App Store va wallet.ton.org saytida hozirda 26.10.4 versiyasi mavjud bo'lib, unda qo'llab-quvvatlash allaqachon bor.
- Manzilni tekshiring. Agar Telegramdagi manzil bilan mos kelsa, hamyon to'liq ochilgan, balansi va tarixi bilan. Agar mos kelmasa, ilova o'sha kalitda boshqa hamyonni ochgan va sabab odatda quyidagi uchta holatdan biri bo'ladi.
Hamyondan hali hech narsa yuborilmagan. TON'dagi kontrakt manzilida birinchi chiquvchi tranzaksiya bilan paydo bo'ladi: undan oldin manzilda tangalar bo'lishi mumkin, ammo kod yo'q. Ilova manzilni Telegram hamyoni deb tan oladi, faqat agar u yerda Telegram kodi va kerakli kalit bilan kontrakt ishlayotgan bo'lsa. Joylashtirilmagan hamyon uchun 12 ta so'z bo'sh W5 hamyonini ochadi, 24 ta so'z esa xatolik bilan tugaydi: ilova bu manzilda Telegram hamyoni kontrakti yo'qligini xabar qiladi. Kod mantig'iga ko'ra, yechim avval Telegramdan kamida bitta o'tkazma yuborish va shundan so'ng importni takrorlashdir.
Kalit o'zgartirilgan, ammo dastlabki 12 ta so'z kiritilgan. Kalit o'zgartirilgandan so'ng, iboraning birinchi yarmi hali ham manzilni belgilaydi, ammo endi imzolay olmaydi. Ilova kontraktda boshqa kalit borligini ko'radi va sizning hamyoningiz o'rniga bo'sh W5 hamyonini ko'rsatadi. Joriy iboraning barcha 24 ta so'zi kerak.
Ibora eskirgan. Agar kalit bir martadan ko'proq o'zgartirilgan bo'lsa va sizda iboraning oldingi versiyasi yozilgan bo'lsa, ilova javob beradiki, ochiq kalit ibora bilan mos kelmaydi va hamyon kalitni o'zgartirgan bo'lishi mumkin. Faqat Telegramdan olingan yangi ibora yordam beradi.
Telegram hamyonini qo'llab-quvvatlamaydigan ilova, 12 ta so'zni ko'pincha oddiy BIP-39 iborasi sifatida qabul qiladi va boshqa manzilga ega bo'lgan, nol balansli hamyonni ko'rsatadi, ikki qismdan iborat 24 ta so'zni esa umuman qabul qilmasligi mumkin. Tangalar shu bilan birga Telegram manzilida qoladi: ilova shunchaki bu manzilni iboradan hisoblay olmaydi va WalletTg formatida o'tkazmalarni imzolay olmaydi.
Importdan so'ng kalit ikki joyda yashaydi. Telegram sukut bo'yicha kalitning shifrlangan nusxasini uchta qismga bo'lib, uchta qit'adagi ma'lumot markazlarida saqlaydi, endi esa kalit ilovada ham joylashgan. Agar maqsad mustaqil saqlashga o'tish bo'lsa, hujjatlar yechimni tasvirlaydi: Keys & Backup → Disable Backup, Update Secret Phrase belgilangan holda. Telegram imzo kalitini o'zgartiradi, 24 ta so'zdan iborat yangi iborani ko'rsatadi va bulutli nusxani faqat o'zgarish tarmoqda amalga oshirilgandan so'ng o'chiradi. Kalitni o'zgartirish uchun Gramda komissiya olinadi. Manzil o'zgarmaydi, eski ibora o'tkazmalarni imzolashni to'xtatadi va shundan so'ng ilovaga yangi 24 ta so'zni qayta kiritish kerak bo'ladi.
Bitta ibora, uchta manzil
TON'dagi hamyon manzili kalitdan emas, balki kontraktning boshlang'ich holati (kod va boshlang'ich ma'lumotlar) xeshidan hisoblanadi. Kalit bu ma'lumotlarga kiradi, ammo har bir hamyon turining o'z kodi bor. Shuning uchun bir xil kalit kontrakt turlari qancha bo'lsa, shuncha manzil beradi va har birida o'ziga xos narsa bo'lishi mumkin.
Telegram hamyonining iborasidan kalit umumiy BIP-39 standarti bo'yicha m/44'/607'/0' yo'li bilan chiqariladi, bu My Wallet o'zining 12 so'zli iborasidan kalitni chiqaradigan yo'l bilan bir xil. Keyin yo'llar ajraladi. Telegram hamyonining boshlang'ich holatida trampoline kodi va to'rtta maydon mavjud: saqlash reviziyasi raqami, seqno hisoblagichi, 0x7FFF7F11 subwallet id va ochiq kalit. W5'ning kodi boshqa va o'zining hamyon identifikatori bor.
Bu amalda qanday ko'rinishi, ushbu maqola uchun yaratilgan bir martalik 12 so'zli ibora orqali tekshirildi: hujjatlardagi algoritm bo'yicha bitta kalit va undan uchta manzil olindi.
| Kontrakt | Bitta iboradan olingan manzil |
|---|---|
| WalletTg, Telegram hamyoni | UQAgG-WT…P_gXad |
| W5 (wallet-v5r1) | UQA7s7tH…boDdkIc |
| v4R2 | UQBVSR_U…djLee01 |
Ilova qaysi manzilni ko'rsatishi uning kodiga bog'liq. My Wallet va Gram Wallet 12 so'zli ibora uchun o'zlariga ma'lum bo'lgan barcha kontrakt versiyalarini, eng eskilaridan W5 va telegramgacha, yo'lning dastlabki ikki indeksida tekshirib chiqadi. Telegram hamyoni bu ro'yxatga faqat manzil bo'yicha trampoline bilan kontrakt ishlayotgan bo'lsa, subwallet id 0x7FFF7F11 ga teng bo'lsa va get_public_key get-metodidan olingan kalit iboradan olingan kalit bilan mos kelsa kiradi. Topilganlardan W5 tanlanadi, agar uning tarixi bo'lsa; aks holda eng katta balansga ega manzil; aks holda oxirgi tranzaksiyaga ega manzil; agar hamma joy bo'sh bo'lsa — W5. Shundan kelib chiqib, yuqoridagi tuzoqlarda bo'sh W5 paydo bo'ladi: Telegram hamyoni tekshiruvdan o'tmaganda, u shunchaki nomzodlar orasida bo'lmaydi.
24 so'zli ibora alohida yo'l bo'ylab ketadi. Agar har bir 12 so'zli yarmi BIP-39 tekshiruvidan o'tsa, birinchi yarmidan anchor key va undan manzil olinadi, ikkinchi yarmidan esa imzo kaliti olinadi, u kontraktda mavjud kalit bilan solishtiriladi. Bu yo'l kerak, chunki 24 so'zli iboralar TON'ning eski hamyonlarida ham bo'ladi, ular tarmoqning o'z qoidalari bo'yicha chiqarilgan. Hujjatlar bahsli holatda foydalanuvchiga ikkala nomzodni ham ko'rsatishni va jim tanlamaslikni buyuradi; My Wallet avval Telegram yo'lini sinab ko'radi va agar manzilda Telegram kontrakti bo'lmasa, ibora oddiy ibora sifatida yaroqli bo'lsa, uni oddiy ibora sifatida import qiladi.
Telegram hamyoni manzilni o'zgartirmasdan kalitni qanday o'zgartiradi
WalletTg kontrakti saqlash joyida imzo kaliti o'zgaruvchan maydon hisoblanadi, manzil esa abadiy boshlang'ich holatdan hisoblangan, u yerda birinchi kalit, anchor key turgan. Kalitni o'zgartirish – bu joriy kalit bilan imzolangan so'rov bo'lib, yangi kalit bilan imzolangan dalil bilan birga keladi. Kontrakt maydonni qayta yozadi va get_public_key get-metodi shu paytdan boshlab yangi kalitni qaytaradi. Anchor key hali ham manzilni qayta hisoblash uchun kerak, ammo endi imzolay olmaydi. Kalit o'zgartirilgunga qadar olingan shifrlangan izohlar o'qilishi uchun, kontrakt har bir o'zgarishda eski maxfiy kalitni, yangisi bilan shifrlangan holda e'lon qiladi: bunday voqealar zanjiri orqali ilova faqat joriy kalitga ega bo'lgan holda barcha oldingi kalitlarni tiklaydi.
Nima uchun yangi hamyonlar W5'da qoladi
TON Core tavsiyasining asosiy sababi bitta: WalletTg maxsus Telegram uchun yaratilgan. Kontraktning tuzilishi buning ortida nima turganini ko'rsatadi.
Hamyon kodi umumiy va ovoz berish orqali o'zgaradi. Har bir Telegram hamyonining manzilida o'zgarmas trampoline joylashgan bo'lib, u boshqaruvni tarmoq konfiguratsiyasining −123 parametrida joylashgan kodga o'tkazadi. Bu kodning yangi versiyasi validatorlar tomonidan tasdiqlanadi, hujjatlarga ko'ra, ularning umumiy og'irligining 75% dan ortig'i kerak bo'ladi va u barcha Telegram hamyonlariga bir vaqtning o'zida yetkaziladi. Hamyon egasi versiyani qotira olmaydi yoki yangilanishdan voz kecha olmaydi. W5 kodi har bir akkauntda o'ziga xos tarzda joylashgan va o'zgarmaydi.
Kengaytmalar yoʻq. W5 kengaytmalarni qoʻllab-quvvatlaydi: bular alohida kontraktlar boʻlib, hamyon ularga oʻz nomidan harakat qilishga ruxsat beradi, obunalar va qoʻshimcha tekshiruvlar aynan ular asosida quriladi. My Wallet'ning oʻzida ikki faktorli autentifikatsiya aynan W5 hamyonining kengaytmasi sifatida izlanadi. WalletTg'da kengaytmalar yoʻq, mualliflarning gʻoyasiga koʻra, ikki faktorli autentifikatsiya va obunalar unda oʻrnatilgan funksiyalar sifatida paydo boʻladi.
Soʻrovlar formati oʻziga xos. WalletTg'da imzo soʻrov tanasidan oldin turadi, bitta xabarni yuborish uchun alohida qisqa format mavjud, foydalanuvchi uchun komissiya toʻlashda esa soʻrov Gram'ni ijroga qoʻshib beradigan vositachi orqali uzatiladi. Telegram hamyonining balansini koʻrsatishdan tashqari, undan pul yuborishni ham istagan ilova bu formatni W5'dan alohida amalga oshirishi kerak boʻladi.
WalletTg'ning boshqacha tuzilganining asosiy sababi — manzilni oʻzgartirmasdan kalitni almashtirishdir. Kontraktning tavsifida aniq aytilgan: Telegram hamyon yaratadi, lekin uni self-custody'ga oʻtkazishga imkon beradi. Uchinchi tomon ilovalariga import qilish esa bu oʻtishning ikkinchi yarmidir.
Boshqalarga nima tavsiya etiladi
TON Core hamyon orqali kirish imkoniyati boʻlgan ilovalarga TON Connect'ni yangilashni va ton_proof imzosini spetsifikatsiya talab qilganidek tekshirishni maslahat beradi: Telegram hamyonining kaliti dastlabki holatdan emas, balki tarmoqdan olinadi. Bu qism TON Connect 5.0 haqidagi materialda koʻrib chiqilgan.
Blokcheyn explorer'lariga Telegram hamyonlarini tanish, kalit almashinuvini koʻrsatish va komissiyasi egasi tomonidan toʻlanmagan oʻtkazmalarni belgilash taklif etiladi. Toncenter API'si Telegram hamyon kontraktini farqlashni oʻrgandi va kalit almashinuvini yangi kalit va shifrlangan eski kalit bilan alohida harakat sifatida qaytaradi, tonscan.org esa bu maʼlumotlar asosida Telegram hamyonlarini va oʻtkazmalarni «Fee paid by Telegram» belgisi bilan imzolaydi.




