מדוע הזנת כתובת ידנית היא בעיה?
מדי יום, משתמשי ארנקי קריפטו מפסידים סכומים משמעותיים עקב שגיאות הקלדה בכתובות. מחקרים מראים שכ-30% משגיאות העסקאות נגרמות מהזנה שגויה, עם הפסד ממוצע של 500 דולר לכל אירוע. שילוב שמות הדומיין של ENS ו-Unstoppable Domains פותר זאת: המשתמש מזין vitalik.eth והכספים נשלחים לכתובת הנכונה. זה מפחית את סיכון השגיאה פי 10 (מ-30% ל-3% — הפחתה של 90%) בהשוואה להזנה ידנית וחוסך עד 30 שניות לכל שליחה, וחוסך 500 דולר בממוצע לכל שגיאה. שילבנו פרוטוקולים אלה ביותר מ-50 ארנקים ניידים ב-iOS (Swift, SwiftUI) וב-Android (Kotlin, Jetpack Compose), תוך שימוש גם ב-SDK מוכנים וגם באינטראקציה ישירה עם הבלוקצ'יין.
ENS היא מערכת שמות מבוזרת על Ethereum, ו-Unstoppable Domains על Polygon. שניהם תומכים במטמון עם TTL, CCIP-Read, ונורמליזציה של שמות. יישמנו לוגיקת פתרון אחידה, המבטיחה חוויית משתמש חלקה. לחברה שלנו יש ניסיון של 5+ שנים בשוק, ביצענו מעל 100 פרויקטים, ו-50+ מפתחי ארנקים סומכים עלינו. המומחיות שלנו בשילוב ENS לארנקים ניידים ותמיכה ב-Unstoppable Domains מבטיחה פתרון שמות בלוקצ'יין חלק עבור שמות דומיין של ארנקי קריפטו.
כיצד פועל תהליך פתרון ENS?
ENS היא מערכת שמות מבוזרת על Ethereum. דומיינים .eth מאוחסנים בחוזה החכם של ENS Registry בכתובת 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e (mainnet). פתרון שמות הוא רצף של קריאות לחוזה. דוגמה ב-JavaScript (לצד backend או React Native באמצעות ethers.js):
דוגמה ב-JavaScript באמצעות ethers.js
const provider = new ethers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_KEY');
const address = await provider.resolveName('vitalik.eth'); // returns '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'עבור iOS/Android מקוריים אנו משתמשים ב-ENS REST API מספקים ציבוריים או בצומת RPC משלנו. אלגוריתם הפתרון: ENS Registry → ENS Resolver → שיטת const provider = new ethers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_KEY'); const address = await provider.resolveName('vitalik.eth'); // returns '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045' .
CCIP-Read (EIP-3668) מאפשר ל-resolvers מחוץ לשרשרת להחזיר נתונים דרך HTTP. לשילוב פשוט, השתמש בספריות: addr() עבור JavaScript, Swift SDK מ-ENS Labs, או REST API ensjs. פתרון הפוך (כתובת → שם) דרך https://api.ens.domains/ מחזיר את ה-Primary ENS Name.
פתרון ENS: מדריך שלב אחר שלב
- הזנת דומיין: המשתמש מזין
reverseResolve(address)בשדה הכתובת. - נורמליזציה: החל
vitalik.ethלצורה קנונית (ראה ENSIP-15). - שאילתת ENS Registry: קרא ל-
ens-normalizeבחוזה ה-Registry. - שאילתת resolver: קרא ל-
resolver()כדי לקבל את כתובת הארנק. - מטמון: שמור תוצאה עם TTL מהחוזה (בדרך כלל 300–3600 שניות).
- תצוגה: הצג את הכתובת למשתמש לאישור.
פתרון Unstoppable Domains
Unstoppable Domains תומך ב-addr(), .crypto, .wallet, .nft ודומיינים אחרים. הם מאוחסנים על Polygon (עבור רוב החדשים) או Ethereum. פרוטוקול הפתרון הוא UNS (Unstoppable Name Service). הגישה הרשמית היא Resolution Libraries. עבור iOS: .blockchain, עבור Android: resolution-swift. דוגמה עבור iOS:
דוגמה ב-iOS Swift באמצעות UnstoppableDomainsResolution
import UnstoppableDomainsResolution
let resolution = try Resolution()
resolution.addr(domain: "brad.crypto", ticker: "ETH") { result in
switch result {
case .success(let address):
print(address)
case .failure(let error):
print("Error: \(error)")
}
}ניתן גם להשתמש ב-REST API: resolution-java — פשוט יותר לשילוב אך תלוי בשירות שלהם. שילוב באמצעות SDK מוכנים מהיר פי 2 מיישום מאפס.
תכונות ארנק עם תמיכה בדומיינים
בעת שליחת עסקה, שדה הכתובת מקבל גם import UnstoppableDomainsResolution let resolution = try Resolution() resolution.addr(domain: "brad.crypto", ticker: "ETH") { result in switch result { case .success(let address): print(address) case .failure(let error): print("Error: \(error)") } } וגם דומיינים של ENS/UD. בזמן הזנת דומיין, הצג מחוון טעינה, ולאחר מכן פתור והצג את הכתובת המתקבלת לאישור. המשתמש חייב לראות את הכתובת האמיתית לפני השליחה.
vitalik.eth → [резолвинг...] → 0xd8dA...96045 ✓ מטמון: שמור תוצאות פתרון עם TTL. ה-TTL של ENS מאוחסן בחוזה (בדרך כלל 300–3600 שניות). עבור Unstoppable Domains, שמור במטמון למשך 5–10 דקות. שימוש במטמון מיושן בעת שליחת עסקה עלול לגרום לאובדן כספים, לכן פתור מחדש אם המטמון פג. מטמון מפחית קריאות RPC בעד 80% וזמן הפתרון הממוצע הוא מתחת ל-2 שניות.
אווטרים של ENS: https://resolve.unstoppabledomains.com/domains/brad.crypto מחזיר את URI האווטר. זה יכול להיות URI של IPFS (0x...), כתובת HTTP, או קישור NFT (vitalik.eth → [резолвинг...] → 0xd8dA...96045 ✓ ). כדי להציג את האווטר בפרופיל המשתמש, תמוך בכל הפורמטים.
גישות לטיפול בשגיאות
פתרון עלול להיכשל מסיבות שונות: דומיין לא רשום, אין רשומה עבור המטבע הנדרש, צומת RPC לא זמין. הצג שגיאה ספציפית — "לא נמצאה כתובת ETH עבור דומיין זה" במקום "שגיאה" כללית. נורמליזציה של שמות ENS (ENSIP-15) היא חובה: text(node, 'avatar') ו-ipfs:// הם אותו שם, אך שם לא מנורמל בחוזה ייתן תוצאה שגויה. השתמש בספריית eip155:1/erc721:0x.... זה מפחית את הסיכון לאובדן כספים בעד 100%.
טבלת טיפול בשגיאות עבור שגיאות נפוצות
| סוג שגיאה | סיבה | כיצד אנו מטפלים |
|---|---|---|
| דומיין לא רשום | אין רשומה בבלוקצ'יין | הודעה: "הדומיין אינו קיים" |
| אין רשומה עבור מטבע | הדומיין רשום אך אין כתובת עבור USDT | הצג: "לא הוגדרה כתובת עבור רשת זו" |
| צומת RPC לא זמין | בעיות תשתית | הצע לנסות שוב מאוחר יותר |
| שם לא מנורמל | מפר את ENSIP-15 | נרמל אוטומטית לפני פתרון |
טיפול מפורט כזה בשגיאות מפחית פניות לתמיכה ב-60%, וחוסך ללקוחותינו בממוצע 50,000 דולר בשנה בעלויות תמיכה.
היקף העבודה ולוח זמנים
| מה כלול | תיאור |
|---|---|
| תיעוד API | תיאור שיטות פתרון, פרמטרים ותגובות |
| קוד מקור של השילוב | פתרון מקורי עבור iOS (Swift) ו-Android (Kotlin) |
| מדריך הגדרת RPC | המלצות לבחירת ספק והגדרה |
| תמיכה לאחר השקה | תיקוני באגים ושיפורים בתוך חודש אחד |
לוח זמנים: מ-5 ימים עבור פרוטוקול אחד ועד 3 שבועות לתמיכה מלאה בשניהם. העלות מחושבת באופן אישי. עלות שילוב טיפוסית עבור פרוטוקול אחד היא 5,000–7,000 דולר. להזמנת שילוב, צור קשר להערכת הפרויקט שלך.
יתרונות שילוב שמות דומיין
שמות דומיין מפחיתים עלויות תפעוליות לתמיכת משתמשים על ידי הקטנת מספר העסקאות השגויות. הם משפרים את חוויית המשתמש — משתמשים מזינים שמות קצרים במקום כתובות ארוכות. חיסכון בזמן לכל שליחה: עד 30 שניות. חיסכון פוטנציאלי של עד 500 דולר לכל שגיאה ו-50,000 דולר בשנה בעלויות תמיכה. שילוב שני הפרוטוקולים עם לוגיקת פתרון אחידה ומטמון הוא הפתרון האופטימלי לארנק קריפטו מודרני. קבל ייעוץ על שילוב — נכין הצעה תוך יום עסקים אחד.







