שילוב TON Connect בארנק נייד מציב מספר אתגרים מרכזיים: יצירת ערוץ מאובטח בין ה-dApp לארנק, סריאליזציה נכונה של נתונים קריפטוגרפיים, ובחירת התעבורה האופטימלית. בפרויקט אחד, שרת הגשר התנתק כל 30 דקות עקב פסק זמן של SSE, מה שאילץ אותנו ליישם חיבור מחדש אוטומטי עם השהיה אקספוננציאלית. TON Connect הוא פרוטוקול תקשורת על גבי גשר HTTP עם התראות push דרך SSE. בניגוד ל-WalletConnect (עולם ה-EVM), הוא משתמש בפרוטוקול משלו, הדורש הבנה מעמיקה של שכבת התעבורה והקריפטוגרפיה. שילבנו בהצלחה את TON Connect בארנקים עם למעלה מ-100,000 משתמשים, בדקנו תאימות עם יותר מ-30 dApps, ומבטיחים יציבות חיבור של 99.9%. שילוב כזה מפחית עלויות תחזוקה ומאיץ את זמן היציאה לשוק, ומחזיר את ההשקעה בממוצע תוך חצי שנה.
כיצד פועלת תעבורת TON Connect
הפרוטוקול פועל דרך שרת גשר (bridge.tonapi.io או שרת מתארח עצמאית). הארנק וה-dApp מחליפים הודעות מוצפנות דרך גשר זה — ללא חיבור ישיר. ההצפנה משתמשת ב-NaCl box (X25519 + XSalsa20-Poly1305).
אפליקציית הארנק הנייד מתחברת לגשר דרך SSE (Server-Sent Events): GET /bridge/{clientId}/events. זהו בקשת HTTP ארוכת טווח ששומרת על החיבור פתוח. ב-iOS, זה בעייתי: URLSession אינו תומך ב-SSE באופן טבעי, ודורש ספריית EventSource או יישום מותאם אישית דרך URLSessionDataDelegate. ב-Android עם OkHttp, אין גם תמיכה מובנית ב-SSE, אבל EventSource מצוות OkHttp (com.squareup.okhttp3:okhttp-sse) פותר את הבעיה.
תעבורה חלופית היא deeplink. ה-dApp מקודד קישור tc:// או https://ton.app/...; המשתמש לוחץ עליו, הארנק נפתח ומקבל בקשת חיבור מפרמטרי ה-URL. זהו תהליך סינכרוני ללא גשר — פשוט יותר, אך דורש שה-dApp והארנק יהיו על אותו מכשיר.
| תעבורה | יתרונות | חסרונות |
|---|---|---|
| SSE (גשר HTTP) | חיבור קבוע, התראות push, תומך באירועי רקע | מורכב יותר ליישום, דורש תמיכת SSE בצד הלקוח |
| Deeplink | יישום פשוט, אין צורך בשרת גשר, סנכרון מיידי | מכשיר יחיד בלבד, אין התראות push, לא עובד עם עדכוני רקע |
מדוע ton_proof קריטי לאבטחה
ton_proof הוא הוכחה קריפטוגרפית לבעלות על הארנק ללא חתימה על עסקה. פורמט: ton-proof-item-v2/<wc>:<addr_bytes>/<app_domain>/<timestamp>/<payload>. הוא נחתם עם המפתח הפרטי של הארנק דרך Ed25519. ה-dApp מאמת את החתימה דרך TON API, ולא סומך על הארנק בעיוורון. מפרט TON Connect מחייב שימוש בכתובת הגולמית עבור addr_bytes; אחרת החתימה תהיה לא חוקית.
טעות אופיינית ביישום ton_proof: סריאליזציה לא נכונה של addr_bytes — יש צורך בפורמט הגולמי (workchain + גיבוב של 32 בתים), לא בכתובת ה-bounce/non-bounce הידידותית למשתמש. בדקו את המפרט. ton_proof מאפשר ל-dApp לאשר שהמשתמש אכן הבעלים של הארנק ללא חתימה על עסקה מלאה. המנגנון מונע התקפות replay על ידי הכללת הדומיין וחותמת הזמן.
טיפול בבקשת חיבור בארנק
בקבלת בקשת חיבור, הארנק חייב:
- לפענח את ConnectRequest מהמטען המוצפן (או מפרמטר ה-deeplink
r). - להציג למשתמש: איזה dApp מבקש חיבור, אילו פריטים נדרשים (
ton_addr,ton_proof). - לקבל אישור משתמש.
- ליצור ConnectResponse עם כתובת הארנק, הרשת (
mainnet/testnet), המפתח הציבורי, ו-ton_proof אם התבקש.
חתימת עסקאות ופענוח BOC
לאחר החיבור, ה-dApp שולח SendTransactionRequest עם BOC (Bag of Cells) — הייצוג הבינארי של עסקת TON. הארנק:
- מפענח את ה-BOC באמצעות
ton-coreאו@ton/ton. - מציג למשתמש את פרטי העסקה: נמען, סכום, הערה.
- חותם על העסקה עם המפתח הפרטי.
- שולח את ה-BOC החתום לרשת TON דרך
tonapi.ioאוtoncenter.com. - מחזיר SendTransactionResponse עם גיבוב העסקה ל-dApp.
כיצד לפענח BOC?
פענוח BOC להצגה בממשק המשתמש אינו טריוויאלי. ה-BOC עשוי להכיל קריאות לחוזה חכם עם מטענים שרירותיים. עבור העברות jetton סטנדרטיות, יש מפענח קוד OP (0xf8a7ea5 — העברת jetton); עבור השאר, אנו מציגים hex גולמי עם אזהרה. השתמשו בספריות ton-core לניתוח.
מה כלול בשילוב TON Connect
היקף העבודה כולל:
- ביקורת על ארכיטקטורת הארנק הנוכחית והמלצות לשילוב.
- תיעוד הפרוטוקול והגדרת שרת הגשר.
- יישום התעבורה הנבחרת (SSE, deeplink, או שניהם).
- קוד בסיס למודול TON Connect ב-Swift/Kotlin/Dart/TypeScript.
- בדיקות עם 5+ dApps אמיתיים (Tonkeeper, Getgems וכו').
- כתיבת בדיקות יחידה ובדיקות אינטגרציה.
- הכשרת צוות הלקוח.
- תמיכה לחודש אחד לאחר השחרור.
שלבי שילוב TON Connect
- ניתוח — לימוד ארכיטקטורת הארנק שלך, בחירת תעבורה, הסכמה על פרטים.
- עיצוב — פיתוח סכמת חיבור, הגדרת עיבוד ton_proof ו-BOC.
- יישום — קוד ב-Swift/Kotlin/Flutter עם דרישות App Store ו-Google Play. יישום תמיכת push (APNs/FCM).
- בדיקות — אימות עם dApps אמיתיים, אימות חתימות עסקאות.
- פריסה — פרסום העדכון בחנויות, הגדרת גשר (במידת הצורך).
| שלב | משך | תוצאה |
|---|---|---|
| ניתוח | 1–3 ימים | מפרט טכני, בחירת ערימת טכנולוגיה |
| עיצוב | 3–5 ימים | תיעוד ארכיטקטורה |
| יישום | 2–4 שבועות | מודול TON Connect עובד |
| בדיקות | שבוע אחד | דוח בדיקות, תיקוני באגים |
| פריסה | 3–5 ימים | שחרור בחנויות, ניטור |
TON Connect לעומת WalletConnect
TON Connect עדיף על WalletConnect במערכת האקולוגית של TON בשל אינטגרציה טבעית עם TON Blockchain: אין צורך בהמרת סוגי נתונים, ו-ton_proof מאובטח יותר מחתימת הודעות. כמו כן, תמיכת SSE מאפשרת לארנק לקבל אירועי עדכון יתרה ללא בקשות נוספות. אם אתם צריכים אינטגרציה עם dApps ב-TON, TON Connect הוא התקן הארגוני היחיד. היישום זמין ב-iOS (Swift), Android (Kotlin), ופלטפורמות חוצות-פלטפורמות. עבור פלטפורמות טבעיות, ה-SDK מפותח פנימית לפי המפרט, והתייחסות טובה היא מאגר הקוד הפתוח של Tonkeeper.
לוח זמנים ועלות
שילוב TON Connect בארנק קיים (חיבור וחתימת עסקאות בלבד) — 3–5 שבועות. ארנק TON מלא מאפס (ניהול seed, גזירת מפתחות, תמיכת jetton, NFT, staking) — מ-4 עד 6 חודשים. העלות מחושבת באופן אישי לאחר ניתוח הפרויקט שלך.
קבלו הערכה לפרויקט שלכם: צרו קשר לייעוץ. הזמינו שילוב TON Connect לארנק שלכם — קבלו פתרון יציב עם אחריות.







