المعاملات

المعاملة هي قائمة من العمليات التي تنفذ بشكل ذري. تصف هذه المرجعية هيكل JSON لطلبات الالتزام.

نظرة عامة

تتدفق جميع تغييرات الحالة عبر نقطة النهاية /v1/commit كمعاملات. يقوم الـ daemon بالتحقق من صحة وتنفيذ العمليات وتخزينها قبل إرجاع استجابة النجاح.

الهيكل

إرشادات إضافية:

النبرة: رسمية
السجل: تقني

السياق:

  • المجال: بنية تحتية للبلوكشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: RTL

القيود:

  • استخدام لغة محايدة للجنس
  • الحفاظ على أسماء العلامات التجارية
  • الحفاظ على الدقة التقنية
  • ضمان أن تظل علامات الترقيم والترقيم مناسبة للاتجاه RTL
  • الحفاظ على أسماء العلامات التجارية والمصطلحات في القاموس دون ترجمة

الحفاظ على دون ترجمة:

  • code_blocks
  • inline_code
  • الروابط
  • glossary_terms
  • الملاحظات الرياضية

إرشادات القاموس:

الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core، Asset‑Core، CSP، API، Docker، ECS، daemon، L1، L2، L3، OpenGraph، GitHub، Astro، TypeScript، JavaScript، ℤ، ℤ²، ℤ³، ℝ²، ℝ³، 0D، 1D، 2D، 3D

طلب الالتزام

{
  "operations": [
    { "op": "OperationName", "args": { ... } },
    { "op": "AnotherOperation", "args": { ... } }
  ],
  "idempotency_key": "optional-unique-key",
  "metadata": {
    "custom_field": "optional user metadata"
  }
}

مظروف العملية

كل عملية لها نفس هيكل الظرف:

إرشادات إضافية:

نغمة: رسمية سجل: تقني

سياق:

  • المجال: بنية تحتية للبلوكشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: RTL

قيود:

  • استخدم لغة محايدة للجنس
  • حافظ على أسماء العلامات التجارية
  • حافظ على الدقة التقنية
  • تأكد من أن علامات الترقيم والترقيم تبقى مناسبة للاتجاه RTL
  • احتفظ بأسماء العلامات التجارية والمصطلحات الفنية دون ترجمة

احتفظ دون ترجمة:

  • code_blocks
  • inline_code
  • links
  • glossary_terms
  • mathematical_notation

إرشادات المصطلحات:

احتفظ بهذه المصطلحات كما هي (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D

{
  "op": "OperationName",
  "args": {
    "field1": "value1",
    "field2": 123
  }
}

الحقول

حقول الطلب

الحقلالنوعمطلوبالوصف
operationsمصفوفةنعمقائمة العمليات التي سيتم تنفيذها
idempotency_keyسلسلةلامفتاح فريد لإزالة التكرار
metadataكائنلابيانات تعريفية يحددها المستخدم وتظهر في الاستجابة

حقول مظروف العملية

الحقلالنوعمطلوبالوصف
opسلسلةنعممعرف العملية
argsكائننعممعلمات محددة للعملية

حقول الاستجابة

الحقلالنوعالوصف
global_seqعدد صحيحرقم التسلسل العالمي للالتزام
batch_seqعدد صحيحرقم تسلسل الدفعة
minted_instancesمصفوفةمعرفات الحالات التي تم إنشاؤها بواسطة MintInstance
metadataكائنصدى بيانات الطلب بما في ذلك idempotency_key

أمثلة

إرشادات إضافية:

النبرة: رسمية السجل: تقني

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمان وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: من اليمين إلى اليسار

القيود:

  • استخدام لغة محايدة للجنس
  • الحفاظ على أسماء العلامات التجارية
  • الحفاظ على الدقة التقنية
  • ضمان أن تظل علامات الترقيم والترقيم مناسبة من حيث الاتجاه
  • الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة

الحفاظ على دون ترجمة:

  • code_blocks
  • inline_code
  • links
  • glossary_terms
  • mathematical_notation

إرشادات المصطلحات:

الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D

الحد الأدنى من المعاملة

{
  "operations": [
    {
      "op": "CreateContainer",
      "args": {
        "container_id": 1001,
        "kind": "Standard",
        "owner": null
      }
    }
  ]
}

المعاملة مع الاستقلالية

{
  "operations": [
    {
      "op": "AddFungible",
      "args": {
        "container_id": 1001,
        "class_id": 100,
        "key": 1,
        "quantity": 500
      }
    }
  ],
  "idempotency_key": "add-balance-2024-01-15-001"
}

معاملة متعددة العمليات

{
  "operations": [
    {
      "op": "RegisterClass",
      "args": {
        "request": {
          "class_id": 200,
          "name": "Sample",
          "fungible": false
        }
      }
    },
    {
      "op": "MintInstance",
      "args": {
        "class_id": 200,
        "key": 1
      }
    },
    {
      "op": "PlaceInSlot",
      "args": {
        "container_id": 1001,
        "instance_id": 9001,
        "slot_index": 0
      }
    }
  ],
  "metadata": {
    "experiment_id": "exp-001",
    "operator": "system"
  }
}

استجابة:

إرشادات إضافية:

النبرة: رسمية السجل: تقني

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: ar
  • الاتجاه: من اليمين إلى اليسار

القيود:

  • استخدام لغة محايدة جنسياً
  • الحفاظ على أسماء العلامات التجارية
  • الحفاظ على الدقة التقنية
  • ضمان أن تظل علامات الترقيم والترقيم ملائمة من حيث الاتجاه
  • الحفاظ على أسماء العلامات التجارية والمصطلحات غير مترجمة

الحفاظ على دون ترجمة:

  • code_blocks
  • inline_code
  • links
  • glossary_terms
  • mathematical_notation

إرشادات المصطلحات:

الحفاظ على هذه المصطلحات كما هي (لا تترجم): Asset Core, Asset‑Core, CSP, API, Docker, ECS, daemon, L1, L2, L3, OpenGraph, GitHub, Astro, TypeScript, JavaScript, ℤ, ℤ², ℤ³, ℝ², ℝ³, 0D, 1D, 2D, 3D

{
  "global_seq": 5,
  "batch_seq": 1,
  "minted_instances": [9001],
  "metadata": {
    "experiment_id": "exp-001",
    "operator": "system"
  }
}

استجابة إعادة المحاولة غير القابلة للتغيير

عند إرسال نفس مفتاح التكرار مرة أخرى:

{
  "global_seq": 5,
  "batch_seq": 1,
  "minted_instances": [9001],
  "metadata": {
    "idempotency_key": "create-sample-001"
  }
}

يُشير رأس X-Asset-Idempotency: hit إلى استجابة مخزنة.

المراجع ذات الصلة

  1. العمليات حسب المجال - مرجع العمليات الكامل
  2. الوصفات - أنماط العمليات المتعددة الشائعة