مرجع الرسوم

آخر تحديث: 2025-10-31

تقوم Kora بتقدير رسوم المعاملات عند تنفيذ طرق RPC الخاصة بـ estimate_transaction_fee و sign_transaction. لتقدير الرسوم، تحسب Kora التكلفة الإجمالية لتنفيذ المعاملات على سولانا، بما في ذلك رسوم الشبكة، وتكاليف إنشاء الحسابات، ورسوم معالجة الدفع الاختيارية. يشرح هذا الدليل كل مكون من مكونات حساب الرسوم.

معادلة حساب الرسوم

يتم تحديد الرسوم بناءً على نموذج التسعير المُعد في kora.toml:

  • PriceModel::Free - يتحمل جميع رسوم المعاملات (إجمالي الرسوم = 0)
  • PriceModel::Fixed - يفرض مبلغاً ثابتاً برمز معين (بغض النظر عن رسوم الشبكة)
  • PriceModel::Margin - يضيف هامش ربح بنسبة مئوية إلى إجمالي الرسوم.

نقطة الدخول الرئيسية لتقدير إجمالي الرسوم المستخدمة في PriceModel::Margin هي FeeConfigUtil::estimate_kora_fee() في crates/lib/src/fee/fee.rs. وتستخدم المعادلة العامة التالية:

Total Fee = Base Fee
+ Account Creation Fee
+ Kora Signature Fee
+ Fee Payer Outflow
+ Payment Instruction Fee
+ Transfer Fee Amount
+ Margin Adjustment

مكونات الرسوم

المكونالوصفطريقة الحسابمتى يتم التطبيق
الرسوم الأساسيةرسوم معاملة سولانا الأساسية التي تغطي التحقق من التوقيع ومعالجة المعاملةRpcClient.get_fee_for_message() - يستخدم حساب الرسوم الخاص بسولانا بناءً على وحدات الحوسبة ورسوم الأولويةدائماً
رسوم إنشاء الحسابالحد الأدنى للرصيد المعفى من الإيجار لإنشاء حسابات الرموز المرتبطة الجديدة (ATAs)Rent::default().minimum_balance(account_size) - يحسب الإيجار بناءً على حجم بيانات الحساب (165-355 بايت حسب امتدادات الرمز)عندما تنشئ المعاملة حسابات ATAs جديدة
رسوم توقيع Koraرسوم إضافية عندما توقع Kora كدافع رسوم غير مشاركثابت: 5,000 lamport (LAMPORTS_PER_SIGNATURE)عندما لا يكون دافع الرسوم موقعاً على المعاملة بالفعل
تدفقات دافع الرسوم الخارجةإجمالي SOL الذي يرسله دافع الرسوم في المعاملة (التحويلات، إنشاء الحسابات، إلخ.)مجموع: تحويلات System Program من دافع الرسوم، CreateAccount الممول من دافع الرسوم، سحوبات Nonce من دافع الرسومعندما يقوم دافع الرسوم بعمليات System Program
رسوم تعليمات الدفعالتكلفة المقدرة لرسوم الأولوية لإضافة تعليمات دفع للمعاملات بدون رسومتقدير ثابت: 50 lamport (ESTIMATED_LAMPORTS_FOR_PAYMENT_INSTRUCTION)عندما يكون الدفع مطلوباً ولكنه غير مدرج في المعاملة
رسوم التحويلرسوم تحويل Token2022 المعدة على الرمز (مثلاً، 1% من مبلغ التحويل)Token2022Mint.calculate_transfer_fee(amount, epoch) - بناءً على إعدادات رسوم التحويل الخاصة بالرمزفقط لتحويلات Token2022 إلى عنوان الدفع الخاص بـ Kora
تعديل الهامشهامش الربح/التعديل الخاص بنموذج تسعير Koraالهامش المُعد في validation.price - يمكن إضافة هامش ربح كنسبة مئوية من إجمالي الرسومعندما يتم توفير [validation.price] في kora.toml

نماذج التسعير وتدفق رسوم الدافع الخارجي

تدعم Kora ثلاثة نماذج تسعير تحدد كيفية فرض رسوم على المستخدمين مقابل المعاملات:

التسعير بالهامش (الافتراضي)

  • الصيغة: Total Fee = (Base + Outflow + Other Components) × (1 + margin)
  • يتضمن تدفق رسوم الدافع الخارجي: نعم
  • الأنسب لـ: عمليات النشر الإنتاجية حيث يجب أن تعكس الرسوم التكاليف الفعلية مع إضافة هامش تشغيلي

التسعير الثابت

  • الصيغة: Total Fee = Fixed Amount (in specified token)
  • يتضمن تدفق رسوم الدافع الخارجي: لا
  • الأنسب لـ: تجربة مستخدم مبسطة مع أسعار يمكن التنبؤ بها في بيئات خاضعة للرقابة

التسعير المجاني

  • الصيغة: Total Fee = 0
  • يتضمن تدفق رسوم الدافع الخارجي: لا (المشغل يتحمل جميع التكاليف)
  • الأنسب لـ: الحملات الترويجية أو الاختبار أو التطبيقات المدعومة بالكامل

⚠️ تحذير أمني: نماذج التسعير الثابت/المجاني

حرج: نماذج التسعير الثابت/المجاني لا تتضمن تدفق رسوم الدافع الخارجي في المبلغ المحمّل. يؤدي هذا إلى خطر أمني كبير في حالة عدم التكوين الصحيح. إذا كانت سياسة دافع الرسوم الخاصة بك تسمح بالتحويلات أو عمليات التدفق الخارجي الأخرى، فقد يستغل المهاجمون ذلك لاستنزاف حساب دافع الرسوم الخاص بك.

الضوابط الأمنية المطلوبة

عند استخدام التسعير الثابت/المجاني، يجب عليك تكوين سياسات مقيدة لدافع الرسوم لحظر جميع العمليات المالية والمتعلقة بتغيير الصلاحيات:

[validation.fee_payer_policy.system]
allow_transfer = false # Block SOL transfers
allow_create_account = false # Block account creation with lamports
allow_allocate = false # Block space allocation
[validation.fee_payer_policy.system.nonce]
allow_withdraw = false # Block nonce account withdrawals
[validation.fee_payer_policy.spl_token] # and for [validation.fee_payer_policy.token_2022]
allow_transfer = false # Block SPL transfers
allow_burn = false # Block SPL token burning
allow_close_account = false # Block SPL token account closures (returns rent)
allow_mint_to = false # Block unauthorized SPL token minting
allow_initialize_account = false # Block account initialization

حماية إضافية

  1. تفعيل المصادقة: اطلب دائمًا مفتاح API أو مصادقة HMAC مع التسعير الثابت/المجاني
  2. تعيين حدود منخفضة: استخدم قيم max_allowed_lamports متحفظة
  3. مراقبة الاستخدام: تتبع الأنماط غير العادية للمعاملات ذات التدفق الخارجي المرتفع
  4. النظر في التسعير بالهامش: يتضمن التسعير بالهامش تلقائيًا تكاليف التدفق الخارجي في الرسوم

تحذيرات التحقق

سيحذرك مدقق تكوين Kora من التكوينات الخطرة:

kora --config kora.toml config validate

التحذيرات المتوقعة للتكوينات الضعيفة:

⚠️ SECURITY: Fixed pricing with system.allow_transfer=true.
Users can make the fee payer transfer arbitrary SOL amounts at fixed cost.
This can drain your fee payer account.

Is this page helpful?

تدار بواسطة

© 2026 مؤسسة سولانا.
جميع الحقوق محفوظة.
تواصل معنا