در ۲۱ اکتبر، تلگرام امکان انتقال هدایای کلکسیونی را از پروفایل کاربران به کیف پول داخلی خود فراهم کرد. بلاکچین نشان می‌دهد که اولین هدیه در ساعت ۰۷:۱۰ UTC به کیف پول تلگرام رسید و از ساعت ۰۷:۰۰ تا ۱۲:۰۰ UTC، هدایا ۲,۶۲۴ بار به کیف پول‌های تلگرام منتقل شدند. در مجموع، ۳,۶۳۹ هدیه در این پنج ساعت از پروفایل‌ها به بلاکچین منتقل شد. همچنین، ۱۹۵ بار هدیه از کیف پول تلگرام به پروفایل بازگردانده شد. در ۱۹ اکتبر، در همین ساعات، چهار هدیه از طریق کیف پول‌های تلگرام جابجا شده بودند.

چه چیزی فعال شد

قابلیت انتقال پیش از راه‌اندازی در کلاینت‌ها آماده بود. در ۱۶ تا ۱۷ اکتبر، متدها و رشته‌های رابط کاربری برای انتقال هدیه از پروفایل به کیف پول و برعکس، در نسخه‌های بتای تلگرام برای macOS و Android ظاهر شدند. در ۱۸ اکتبر نیز رشته‌های مربوط به انتقال برای iOS در پلتفرم ترجمه قرار گرفتند. در ۲۰ اکتبر، همین متدها وارد طرح‌واره API تلگرام دسکتاپ (لایه ۲۳۲) شدند:

  • payments.withdrawStarGift هدیه را به کیف پول منتقل می‌کند و صرفاً با «بله» یا «خیر» پاسخ می‌دهد، بدون لینک به وب‌سایت. در درخواست، فیلد tmp_password وجود دارد — که با توجه به نامش، به نظر می‌رسد رمز عبور احراز هویت دو مرحله‌ای (two-step verification) است، مانند زمان برداشت Stars — و یک پرچم keep_on_profile که با توجه به نامش، هدیه را در پروفایل قابل مشاهده نگه می‌دارد.
  • payments.depositStarGift هدیه را از کیف پول به پروفایل بازمی‌گرداند. گیرنده با فیلد peer مشخص می‌شود، یعنی با توجه به طرح‌واره، می‌تواند شخص دیگری نیز باشد، و پرچم hide_sender فرستنده را پنهان می‌کند. سرور در پاسخ، آدرس NFT، بار مفید (payload) و مبلغ را برمی‌گرداند — ظاهراً برای تراکنشی که سپس خود کیف پول آن را ارسال می‌کند.
  • در تاریخچه کیف پول، این عملیات نوع خاص خود را دارد — walletTransactionPeerTelegramGift. در iOS، دو عنوان برای آن وجود دارد: انتقال از پروفایل و انتقال به پروفایل.

پیش از این، امکان برداشت هدیه به بلاکچین تنها از طریق وب‌سایت Fragment و فقط به یک کیف پول خارجی TON وجود داشت: تلگرام لینکی برای برداشت ارائه می‌کرد (متد getStarGiftWithdrawalUrl در طرح‌واره باقی مانده است). متد جدید لینک‌ها را برنمی‌گرداند و انتقال مستقیماً از رابط کاربری خود تلگرام انجام می‌شود.

نحوه مشاهده آن در بلاکچین

در این انتقال، لینکی به وب‌سایت وجود ندارد و آدرسی که هدایا از آن به بلاکچین منتقل می‌شوند، همان آدرس قبلی است. هدایا به بلاکچین توسط آدرسی منتشر می‌شوند که TonAPI آن را به عنوان Fragment Gift Minter امضا می‌کند. این یک کیف پول highload است که پیش از این نیز برداشت‌ها از طریق Fragment از آن انجام می‌شد. هدیه به یکی از دو روش زیر از آن خارج می‌شود:

  • انتشار (mint) — هدیه هنوز هرگز در بلاکچین نبوده است و minter یک NFT جدید را در قرارداد مجموعه (پیام telemint_msg_deploy_v2) مستقر می‌کند.
  • انتقال (transfer) — هدیه قبلاً در بلاکچین بوده، سپس به تلگرام بازگردانده شده و تمام این مدت NFT در آدرس minter قرار داشته است. اکنون minter آن را با یک nft_transfer معمولی ارسال می‌کند.

مسیر بازگشت نیز از طریق همین آدرس انجام می‌شود: NFT به minter با یک کامنت به شکل Ref#… ارسال می‌شود و تلگرام هدیه را به پروفایل واریز می‌کند. بازگشت‌ها از کیف پول تلگرام دقیقاً مانند بازگشت‌های قبلی از طریق Fragment هستند: آدرس یکسان است، فرمت کامنت یکسان است. احتمالاً این کامنت همان بار مفید (payload) از پاسخ depositStarGift است، اما نمی‌توان آن را از طریق بلاکچین تأیید کرد.

کیف پول تلگرام با کد قرارداد خود از بقیه متمایز می‌شود: tg-wallet هش کد مخصوص به خود را دارد. بر اساس این هش کد، گیرنده هر هدیه به دو نوع تقسیم می‌شود: کیف پول تلگرام یا هر کیف پول دیگری.

پنج ساعت اول

زمان — UTC، ۲۱ اکتبر. «به کیف پول تلگرام» — انتشارها (mints) و انتقال‌هایی (transfers) که گیرنده آن‌ها کد tg-wallet را دارد.

ساعتاز پروفایل‌ها خارج شداز این تعداد به کیف پول تلگراماز کیف پول تلگرام بازگشت
۰۷:۰۰–۰۸:۰۰۲۹۳۱۹۴۲
۰۸:۰۰–۰۹:۰۰۱,۰۴۴۷۷۸۳۰
۰۹:۰۰–۱۰:۰۰۸۰۱۶۶۲۵۶
۱۰:۰۰–۱۱:۰۰۸۴۵۵۶۳۴۸
۱۱:۰۰–۱۲:۰۰۶۵۶۴۲۷۵۹
مجموع۳,۶۳۹۲,۶۲۴۱۹۵

برای مقایسه، در ۱۹ اکتبر از ساعت ۰۷:۰۰ تا ۱۲:۰۰ UTC، ۷۷۲ هدیه از پروفایل‌ها خارج شد و تنها چهار مورد از آن‌ها به آدرس‌هایی رفت که اکنون کد کیف پول تلگرام را دارند. پیش از راه‌اندازی، هدیه به چنین آدرسی، ظاهراً با برداشت معمولی از طریق Fragment، که آدرس گیرنده به صورت دستی مشخص می‌شد، منتقل می‌شد. در آن ساعات هیچ بازگشتی از کیف پول‌های تلگرام وجود نداشت.

اولین انتقال به کیف پول تلگرام در ساعت ۰۷:۱۰:۳۱ UTC، اولین انتشار (mint) در ساعت ۰۷:۱۱:۰۵ (هدیه Fresh Socks)، و اولین بازگشت به پروفایل در ساعت ۰۷:۲۲:۴۱ انجام شد.

۴۵۱ انتشار و ۹۳ انتقال دیگر در این ساعات به آدرس‌هایی بدون قرارداد مستقر شده (undeployed contract) رفتند. چنین آدرسی می‌تواند متعلق به کیف پول تلگرام باشد که هنوز هیچ تراکنش خروجی نداشته است، یا به هر کیف پول دیگری، بنابراین در جدول فقط در ستون اول محاسبه شده‌اند. کد گیرنده در ۲۱ اکتبر ساعت ۱۲:۰۲ UTC ثبت شده است.

چه کسی انتقال می‌دهد

۱,۰۱۹ کیف پول تلگرام هدیه دریافت کردند. ۵۹۲ مورد از آن‌ها یک هدیه دریافت کردند، و بزرگترین آن‌ها ۳۶ هدیه دریافت کرد. ۱۲۶ کیف پول هدایا را به پروفایل بازگرداندند.

بیشترین هدایایی که به کیف پول‌های تلگرام منتشر شدند، Chill Flame (۱۳۳ بار)، Liberty Figure (۱۱۷ بار) و Vice Cream (۱۱۵ بار) بودند. هر سه عدد مربوط به انتشارها (mints) هستند: این نمونه‌ها برای اولین بار وارد بلاکچین شدند.

آنچه از بلاکچین قابل مشاهده نیست

بلاکچین فقط لحظه‌ای را نشان می‌دهد که minter هدیه را ارسال کرده است. اینکه چقدر زمان از لحظه کلیک روی دکمه در پروفایل تا انجام تراکنش گذشته است، از طریق بلاکچین قابل تشخیص نیست. هزینه انتقال، در صورت وجود، نیز قابل مشاهده نیست: برای هر انتشار، minter خود ۰.۰۶ TON به قرارداد مجموعه ارسال می‌کند، اما اینکه آیا تلگرام چیزی از صاحب هدیه کسر می‌کند یا خیر، از طریق بلاکچین مشخص نیست. انتقال در رابط کاربری برای این مقاله بازتولید نشده است.