محفظة Solana أم حساب توكن أم mint: كيف تميز العنوان؟
لعنوان حساب التوكن وحساب mint ومالك التوكن أدوار مختلفة. استخدم جدول الحقول لتحديد نوع السجل الذي تفحصه على Solana.
يسجل حساب توكن Solana كمية من توكن واحد لجهة صلاحية مسجلة كمالك للتوكن. ويختلف عنوانه عن mint الذي يحدد هوية التوكن. في حالة المحفظة العادية، تكون جهة الصلاحية هي العنوان العام لحساب المحفظة الذي اخترته. وقد يعرض المستكشف أيضا البرنامج المالك للحساب، وهو دور منفصل.
استخدم هذا الدليل حين يعرض سجل توكن عنوانا غير مألوف أو حقلين باسم Owner. ستكون النتيجة سجلا صغيرا يربط حساب التوكن بجهة الصلاحية الحالية وmint والبرنامج الذي يديره. هذا فحص للقراءة فقط، يستند إلى وثائق روجعت في 10 نوفمبر 2026، ولا يتطلب ربط محفظة أو تقديم توقيع.
ابدأ بالسجل، لا بشكل العنوان
تشرح وثائق الحسابات في Solana الحسابات التي تستخدم مفاتيح عامة كعناوين لها. لا يكشف العنوان المألوف شكلا عما تمثله بياناته. اقرأ نوع الحساب وحقوله على العنقود المقصود، مثل Mainnet Beta أو Devnet.
يفصل دليل التوكنات بين هذه الأدوار:
- Mint M يحدد هوية التوكن ويحتفظ ببيانات مشتركة، منها المعروض وعدد المنازل العشرية.
- حساب التوكن T يسجل كمية من ذلك التوكن ويحدد جهة الصلاحية المسجلة كمالك له.
- جهة الصلاحية A هي العنوان المسجل كمالك للتوكن. حساب المحفظة مثال شائع، لكن لا تفترض أن كل جهة صلاحية هي محفظة شخصية عادية.
إذا كنت تقارن ذلك بما تعرفه عن Ethereum، فإن دليل عنوان المحفظة وعقد التوكن يشرح حالة EVM. أما في Solana، فهناك سجل منفصل لحساب التوكن تحتاج أيضا إلى تحديد هويته.
اقرأ حقلي Owner كل واحد على حدة
في حساب التوكن، يشير owner داخل بيانات التوكن إلى جهة صلاحية لعمليات التوكن. أما owner على مستوى الحساب فهو Token Program أو Token Extension Program الذي يديره. تميز وثائق حسابات التوكن في Solana بينهما صراحة.
يستخدم جدول الحقول التالي حساب توكن واحدا من الاستجابة المحللة الواردة في الوثائق. قد يستخدم المستكشف تسميات مختلفة. الحروف هنا للتوضيح، وليست عناوين حقيقية أو نتائج فحص مباشر للرصيد.
| الحقل داخل عنصر واحد من النتيجة | معناه |
|---|---|
pubkey |
عنوان حساب التوكن T |
account.owner |
برنامج التوكن الذي يدير الحساب P |
account.data.parsed.type |
القيمة account لهذا الحساب المحلل |
account.data.parsed.info.mint |
حساب mint للتوكن M |
account.data.parsed.info.owner |
جهة الصلاحية الحالية المسجلة كمالك للتوكن A |
account.data.parsed.info.tokenAmount |
الكمية المبلغ عنها للحساب T |
اعتبار P عنوان محفظتك يخلط بين معنيين مختلفين للمالك. واعتبار M عنوان محفظتك يعني أنك اخترت معرف الأصل. ولا يحدد أي منهما جهة الصلاحية التي أردت فحص حيازاتها.
ATA هو الحساب الافتراضي، وليس قائمة الحسابات كلها
حساب التوكن المرتبط، أو ATA، هو حساب التوكن القياسي لمحفظة وبرنامج توكن وmint محددين. هذه المدخلات تحدد عنوانه. يتبع الحساب الناتج برنامج التوكن الخاص به؛ أما Associated Token Program فليس البرنامج المالك له.
يوضح دليل التوكنات أيضا أن جهة صلاحية واحدة قد تملك عدة حسابات توكن لحساب mint واحد. لذلك لا يكفي العثور على ATA لإثبات أنك عثرت على كل الحسابات. اقرأ جهة الصلاحية المسجلة حاليا بدلا من استنتاجها من اشتقاق العنوان وحده أو من معاملة قديمة.
للحصول على قائمة أوسع، يعيد getTokenAccountsByOwner حسابات جهة صلاحية مع مرشح حسب mint أو البرنامج. والمرشح الخاص ببرنامج يقصر ذلك الاستعلام على البرنامج المحدد. هذه طريقة لفحص نطاق النتيجة، وليست وعدا بأن استعلاما واحدا يغطي كل مراكز الأصول على Solana.
أنشئ سجلا واحدا لتحديد الهوية
- حدد السياق. سجل العنقود والعنوان العام الكامل لجهة الصلاحية التي تريد فحصها. وإذا كنت تفحص أصلا بعينه، فاحتفظ بعنوان mint المقصود من المرجع الرسمي لجهة الإصدار في حقل منفصل.
- افحص الحساب نفسه. استخدم مستكشفا موثوقا أو أداة لقراءة الحسابات فقط. تحقق مما إذا كان السجل بعد فك ترميزه حساب توكن أم mint. إذا تعذر الحصول على نوعه، فاترك التصنيف غير محسوم. وإذا كان mint، فسجل عنوانه بوصفه M ونوعه بوصفه mint. تنطبق الخطوتان التاليتان على حسابات التوكن.
- طابق الحقول. في حساب التوكن، قارن جهة الصلاحية الحالية المسجلة كمالك للتوكن وحساب mint بالقيم التي تقصدها. سجل البرنامج الذي يدير الحساب بشكل منفصل. قارن العناوين كاملة، لا التسميات المختصرة.
- احتفظ بما رصدته. سجل العنقود والنوع بعد فك الترميز وT وA وM وP والكمية المبلغ عنها ورقم slot في الاستجابة أو وقت الفحص. صنف النتيجة: تم تحديد الهوية، أو غير مطابق، أو غير محسوم. عدم التطابق يعني أن السجل لا يطابق جهة الصلاحية أو الأصل الذي اخترته، لكنه لا يفسر السبب.
غياب الحساب وفشل أداة القراءة نتيجتان مختلفتان. يحدد مرجع getAccountInfo أن result.value تكون null حين لا يوجد الحساب عند مستوى commitment المطلوب. ولا يخبرك ذلك وحده بأي شيء عن حسابات أخرى تابعة لجهة الصلاحية. أما الخطأ أو الاستجابة غير القابلة للقراءة فيتركان هذا الفحص غير محسوم.
عند إضافة عنوان إلى Owlio، استخدم العنوان العام لحساب المحفظة الذي أردت تتبعه. فحص صيغة العنوان لا يحدد ما إذا كان الإدخال جهة صلاحية لمحفظة أو mint أو حساب توكن، ولا يضمن عرض الحيازات كاملة. احتفظ بسجل الحقول الناتج عن هذا الفحص. وإذا تطابقت الهويات لكن المحفظة المعروضة لا تزال مختلفة، فتابع مع دليل اختلاف رصيد المحفظة لفحص نطاق التغطية وحداثة البيانات.
أسئلة شائعة
هل يعرض عنوان mint رصيدي الشخصي من التوكن؟
يحدد حساب mint هوية التوكن ويخزن بيانات مشتركة مثل المعروض منه. أما حيازتك فتسجل في حسابات توكن مرتبطة بجهة الصلاحية المسجلة كمالك للتوكن. المعروض المسجل في mint ليس الكمية التي تحوزها تلك الجهة.
هل معرفة عنوان ATA تثبت وجود الحساب؟
لا. يمكن اشتقاق عنوان ATA من عنوان المحفظة وبرنامج التوكن وmint قبل وجود الحساب. افحص بيانات الحساب الحالية على العنقود المقصود. كما أن غياب ATA لا ينفي وجود حسابات توكن أخرى لجهة الصلاحية وmint نفسيهما.
هل يثبت مالك التوكن المسجل من يتحكم في الأموال؟
يشير الحقل إلى جهة صلاحية على السلسلة، وليس إلى هوية شخص أو دليل على تحكمك في تلك الجهة. قد تؤثر الجهات المفوضة وامتدادات التوكن في الأذونات. تحديد هوية الحساب لا يمثل فحصا كاملا لأذونات التحويل أو إمكانية إنفاق الأموال.