TON Blockchain للمطورين: Stars و USDT و TonConnect ومدفوعات Telegram
تحليل تقني معمّق لتكامل TON في Telegram Mini Apps من تجربة The Open Squad. البنية المعمارية، TonConnect، Jettons (USDT)، Telegram Stars، عقود الضمان، الأمان.
في 2026، لم يعد TON Blockchain "عملة معجبي Telegram" — بل أصبح طبقة البنية التحتية لكامل حزمة المدفوعات في المراسل. في The Open Squad دمجنا TON في كل منتج: مدفوعات USDT في The Open Earn، عقود الضمان الذكية في The Open Guarantor. هذا الدليل خلاصة ما تعلمناه على الطريق.
لماذا TON لمنتجات Telegram
البدائل:
- Stripe / PayPal — بطيئة، باهظة (3–5%)، ولا تعمل لمستخدمين في 50+ دولة نخدمهم
- محافظ كريبتو متعددة الشبكات — كابوس UX: على المستخدم معرفة الشبكات والعناوين والـ gas
- رصيد داخلي بدون سحب — المستخدمون لا يثقون به
يحلّ TON ثلاث مشكلات في وقت واحد:
- رسوم منخفضة — أجزاء من السنت لكل معاملة (مقابل $0.30+ في Stripe)
- السرعة — حسم نهائي في 5 ثوانٍ
- UX — يتيح TonConnect ربط المحفظة بنقرتين، دون نسخ عناوين
بنية TON في دقيقتين
TON بلوكتشين PoS موزّع عبر shards. الوحدة الأصلية هي TON. تعمل فوقها:
- Jettons — معيار للرموز (نظير ERC-20 على TON). USDT على TON هو Jetton أصدرته Tether
- NFTs — معيار الرموز الفريدة
- Workchains / Shardchains — shards للتوسع
بالنسبة للمطورين هذا يعني:
- SDK واحد (
@ton/ton،@ton/core) يتعامل مع TON و Jettons معًا - لا حاجة للقفز بين عدة شبكات
- المعاملة هي رسالة من عقد إلى آخر (كل شيء عقد، بما فيه المحافظ)
ربط المحفظة عبر TonConnect
TonConnect بروتوكول مفتوح المصدر يربط dApp بمحفظة المستخدم. كل محافظ TON الكبرى تدعمه: Tonkeeper، MyTonWallet، Tonhub.
في Mini App يبدو هكذا:
import { TonConnectUI } from "@tonconnect/ui";
const tonConnectUI = new TonConnectUI({
manifestUrl: "https://yourapp.com/tonconnect-manifest.json",
});
// فتح نافذة اختيار المحفظة
await tonConnectUI.openModal();
// بعد الاتصال — بيانات المحفظة متاحة:
const wallet = tonConnectUI.wallet;
console.log(wallet?.account.address);
الـ manifest (tonconnect-manifest.json) ملف JSON ثابت يحوي بيانات تطبيقك. تقرأه المحافظ لإظهار أيقونتك واسمك في شاشة الموافقة.
استلام المدفوعات: TON و USDT
السيناريو 1: استلام TON. أنشئ عنوان إيداع لكل مستخدم (عبر حساب فرعي من HD-wallet). استمع للمعاملات الجديدة عبر TON API:
from pytoniq import LiteClient
async def listen_deposits(address: str):
async with LiteClient.from_mainnet_config() as client:
txs = await client.get_transactions(address, count=10)
for tx in txs:
if tx.in_msg.value > 0:
process_deposit(user_id, tx.in_msg.value)
السيناريو 2: استلام USDT (Jetton). USDT عقد Jetton. لكل مستلم Jetton wallet خاص به (عنوان منفصل عن محفظة TON الرئيسية). تستمع للمعاملات على Jetton wallet، لا على المحفظة الرئيسية.
أبسط طريق: استخدم TON Index API مُستضاف (Tonapi.io، TonCenter) مع webhooks للتحويلات الواردة.
Telegram Stars: العملة الرقمية لـ Telegram
Stars عملة Telegram الافتراضية (1 Star ≈ $0.013). تُستخدم لشراء سلع رقمية: اشتراكات، إيموجي مخصص، ثيمات، ميزات بريميوم للبوتات.
على عكس TON، لا يمكن سحب Stars بحرية — يحوّل Telegram الـ Stars إلى TON فقط للمنشئين الموثّقين وبتأخير.
متى نستخدم Stars بدل TON:
- محتوى مدفوع (مقالات، دورات، ميزات بريميوم للبوتات)
- مشتريات داخل التطبيق (ملصقات، ثيمات)
- بقشيش وتبرعات
- الامتثال لـ App Store / Play Store (تشترط Apple وGoogle Stars للمشتريات الرقمية داخل التطبيق)
متى يكون TON مباشرةً أفضل:
- مدفوعات B2B
- ضمان P2P
- مبالغ كبيرة
- حين يحتاج المستخدمون سحبًا حرًا
العقود الذكية: دروس الضمان من The Open Guarantor
The Open Guarantor هو بوتنا لصفقات P2P آمنة على TON. المنطق بسيط:
- يرسل المشتري TON إلى عقد الضمان
- يحتفظ العقد بالأموال حتى التأكيد
- يؤكد المشتري الاستلام → يدفع العقد للبائع
- عند النزاع يحسم محكّم (نحن)
تُكتب العقود بـ FunC (لغة TON منخفضة المستوى) أو Tact (عالية المستوى). نستخدم Tact:
contract Escrow {
buyer: Address;
seller: Address;
arbiter: Address;
amount: Int;
state: Int; // 0 = pending, 1 = released, 2 = refunded
receive("release") {
require(sender() == self.buyer, "only buyer");
require(self.state == 0, "already settled");
send(SendParameters{
to: self.seller,
value: self.amount,
mode: SendPayGasSeparately
});
self.state = 1;
}
// ... refund, dispute logic
}
النشر بـ blueprint (TON DevKit). اختبر أولًا على testnet ثم mainnet.
قائمة فحص أمان المدفوعات
ما طبّقناه بعد أول حادث:
- تحقّق من كل مبلغ وارد — لا تثق أبدًا بـ
valueالمعاملة دون فحص - حماية من reorgs — انتظر 6+ كتل قبل القيد (≈30 ثانية على TON)
- فصل hot/cold wallet — احتفظ فقط بمدفوعات ~24 ساعة على المحفظة الساخنة، والباقي على الباردة
- محفظة عتاد للـ cold — Ledger أو multisig
- حدود معدل السحب — قيّد N سحبات في الدقيقة لكل حساب
- Audit trail — كل حركة أموال تُسجَّل في DB مع نسخ متماثل إلى S3 / نسخة Postgres
تكاليف التشغيل
من أجل وحدة الاقتصاد:
- معاملة TON — ~0.005 TON gas (≈$0.025 بسعر $5/TON)
- معاملة Jetton (USDT) — ~0.05 TON (≈$0.25)
- نشر عقد ذكي — مرة واحدة ~0.1 TON
إن عالجت 1,000 سحب USDT يوميًا، فذلك ~$250/يوم gas. للتقليل:
- اجمع السحوبات (عدة مستلمين في معاملة واحدة)
- استخدم TON مباشرةً بدل USDT للمبالغ الميكروسكوبية
الخطوة التالية
TON أعملي بلوكتشين لمنتجات Telegram-native في 2026. إن كان منتجك يلامس المال، فإن دمج TON يستغرق 2–3 أسابيع ويمنحك فورًا UX لا تستطيع بوابات الدفع الكلاسيكية مجاراته.
إن أردت رؤية ذلك في الإنتاج — اطّلع على The Open Earn (مدفوعات USDT) أو The Open Guarantor (عقود الضمان).