21 अक्टूबर को, Telegram ने संग्रहणीय उपहारों (collectible gifts) को प्रोफ़ाइल से अंतर्निहित वॉलेट (built-in wallet) में स्थानांतरित करना सक्षम किया। ब्लॉकचेन समय दिखाता है: पहला उपहार Telegram वॉलेट में 07:10 UTC पर आया, और 07:00 से 12:00 UTC तक, उपहार 2,624 बार Telegram वॉलेट में गए। कुल मिलाकर, इन पांच घंटों में प्रोफ़ाइल से ब्लॉकचेन में 3,639 उपहार गए। इसके अतिरिक्त, 195 बार उपहार Telegram वॉलेट से वापस प्रोफ़ाइल में लौटा। 19 अक्टूबर को, उन्हीं घंटों में, Telegram वॉलेट के माध्यम से चार उपहार गुजरे।

क्या सक्षम किया गया

लॉन्च से पहले क्लाइंट्स में स्थानांतरण (transfer) तैयार था। 16-17 अक्टूबर को, macOS और Android के लिए Telegram बीटा में, प्रोफ़ाइल से वॉलेट में और वापस उपहार स्थानांतरित करने के लिए तरीके और इंटरफ़ेस स्ट्रिंग दिखाई दिए। 18 अक्टूबर को, iOS के लिए स्थानांतरण स्ट्रिंग अनुवाद प्लेटफ़ॉर्म पर दिखाई दिए। 20 अक्टूबर को, वही तरीके Telegram Desktop API स्कीमा (लेयर 232) में शामिल किए गए:

  • payments.withdrawStarGift उपहार को वॉलेट में स्थानांतरित करता है और वेबसाइट के लिंक के बिना केवल "हाँ" या "नहीं" में जवाब देता है। अनुरोध में tmp_password फ़ील्ड है — नाम के अनुसार, यह दो-चरणीय प्रमाणीकरण (two-step verification) का पासवर्ड है, जैसे सितारों को निकालने में होता है — और keep_on_profile फ़्लैग, जो नाम के अनुसार उपहार को प्रोफ़ाइल में दृश्यमान रखता है;
  • payments.depositStarGift उपहार को वॉलेट से प्रोफ़ाइल में वापस करता है। प्राप्तकर्ता को peer फ़ील्ड द्वारा निर्दिष्ट किया जाता है, जिसका अर्थ है, स्कीमा के अनुसार, यह कोई अन्य व्यक्ति भी हो सकता है, और hide_sender फ़्लैग प्रेषक को छुपाता है। सर्वर जवाब में NFT पता, पेलोड और राशि देता है — संभवतः उस लेनदेन के लिए जिसे बाद में वॉलेट स्वयं भेजता है;
  • वॉलेट के इतिहास में, ऐसे ऑपरेशन का अपना प्रकार होता है — walletTransactionPeerTelegramGift। iOS में, इसके दो हस्ताक्षर हैं: प्रोफ़ाइल से स्थानांतरण और प्रोफ़ाइल में स्थानांतरण।

पहले, उपहार को ब्लॉकचेन में केवल Fragment वेबसाइट के माध्यम से और केवल बाहरी TON वॉलेट में निकाला जा सकता था: Telegram निकासी के लिए एक लिंक प्रदान करता था (getStarGiftWithdrawalUrl विधि स्कीमा में बनी हुई है)। नई विधि कोई लिंक वापस नहीं करती है, स्थानांतरण सीधे Telegram के इंटरफ़ेस से होता है।

ब्लॉकचेन में यह कैसे दिखता है

स्थानांतरण में वेबसाइट का कोई लिंक नहीं है, और वह पता जिससे उपहार ब्लॉकचेन में जाते हैं, वही रहता है। ब्लॉकचेन में उपहारों को वह पता जारी करता है जिसे TonAPI Fragment Gift Minter के रूप में हस्ताक्षरित करता है। यह एक highload-वॉलेट है जिसके माध्यम से पहले भी Fragment के माध्यम से निकासी होती थी। उपहार इससे दो तरीकों में से एक से निकलता है:

  • जारी करना (mint) — उपहार अभी तक ब्लॉकचेन में कभी नहीं रहा है, और मिंटर (minter) संग्रह अनुबंध में एक नया NFT तैनात करता है (telemint_msg_deploy_v2 संदेश);
  • स्थानांतरण (transfer) — उपहार पहले ही ब्लॉकचेन में रहा है, फिर उसे Telegram में वापस कर दिया गया, और इस दौरान NFT मिंटर के पते पर पड़ा रहा। अब मिंटर इसे सामान्य nft_transfer के माध्यम से अग्रेषित करता है।

वापसी का रास्ता भी इसी पते से होकर जाता है: NFT को Ref#… जैसे कमेंट के साथ मिंटर को भेजा जाता है, और Telegram उपहार को प्रोफ़ाइल में जमा करता है। Telegram वॉलेट से वापसी Fragment के माध्यम से पिछली वापसी की तरह ही होती है: पता वही है, कमेंट का प्रारूप वही है। संभवतः, यह कमेंट ही depositStarGift के जवाब से पेलोड है, लेकिन इसे ब्लॉकचेन से सत्यापित नहीं किया जा सकता है।

Telegram वॉलेट अनुबंध कोड से अन्य वॉलेट से अलग है: tg-wallet का अपना कोड हैश (code hash) है। इस हैश के आधार पर, प्रत्येक उपहार के प्राप्तकर्ता को दो प्रकारों में विभाजित किया जाता है: Telegram वॉलेट या कोई अन्य।

पहले पांच घंटे

समय — UTC, 21 अक्टूबर। "Telegram वॉलेट में" — वे जारी किए गए (mints) और स्थानांतरित किए गए (transfers) उपहार जिनके प्राप्तकर्ता के पास tg-wallet कोड है।

घंटाप्रोफ़ाइल से गएउनमें से Telegram वॉलेट मेंTelegram वॉलेट से वापस आए
07:00–08:002931942
08:00–09:001 04477830
09:00–10:0080166256
10:00–11:0084556348
11:00–12:0065642759
कुल3 6392 624195

तुलना के लिए, 19 अक्टूबर को 07:00 से 12:00 UTC तक, प्रोफ़ाइल से 772 उपहार गए, और उनमें से केवल चार उन पतों पर गए जिनके पास अब Telegram वॉलेट का कोड है। लॉन्च से पहले, उपहार ऐसे पते पर संभवतः Fragment के माध्यम से सामान्य निकासी द्वारा पहुँचता था, जहाँ प्राप्तकर्ता का पता मैन्युअल रूप से निर्दिष्ट किया जाता था। उन घंटों में Telegram वॉलेट से कोई वापसी नहीं हुई थी।

Telegram वॉलेट में पहला स्थानांतरण 07:10:31 UTC पर हुआ, पहला जारी करना (Fresh Socks उपहार) 07:11:05 पर हुआ, प्रोफ़ाइल में पहली वापसी 07:22:41 पर हुई।

इन घंटों में 451 और जारी किए गए (mints) और 93 स्थानांतरण (transfers) बिना तैनात अनुबंध (undeployed contract) वाले पतों पर गए। ऐसा पता Telegram वॉलेट का भी हो सकता है, जिसमें अभी तक कोई आउटगोइंग लेनदेन नहीं हुआ है, और किसी अन्य का भी, इसलिए तालिका में उन्हें केवल पहले कॉलम में गिना गया है। प्राप्तकर्ता का कोड 21 अक्टूबर को 12:02 UTC पर लिया गया था।

कौन स्थानांतरित करता है

उपहार 1,019 Telegram वॉलेट को प्राप्त हुए। उनमें से 592 को एक-एक उपहार मिला, और सबसे बड़े को 36 उपहार मिले। 126 वॉलेट ने उपहारों को प्रोफ़ाइल में वापस किया।

Telegram वॉलेट में सबसे अधिक बार Chill Flame (133 बार), Liberty Figure (117) और Vice Cream (115) जारी किए गए। तीनों संख्याएँ जारी किए गए (mints) उपहारों की हैं: ये उदाहरण पहली बार ब्लॉकचेन में आए।

ब्लॉकचेन से क्या नहीं दिखता

ब्लॉकचेन केवल वह क्षण दिखाता है जब मिंटर ने उपहार भेजा। प्रोफ़ाइल में बटन दबाने से लेकर लेनदेन तक कितना समय लगा, यह इससे पता नहीं चलता। स्थानांतरण के लिए शुल्क भी नहीं दिखता, यदि कोई है: प्रत्येक जारी करने (mint) के लिए मिंटर स्वयं संग्रह अनुबंध में 0.06 TON भेजता है, और Telegram उपहार के मालिक से कुछ काटता है या नहीं, यह ब्लॉकचेन से नहीं दिखता। इस लेख के लिए इंटरफ़ेस में स्थानांतरण को दोहराया नहीं गया था।