HTTP API

يقدم Asset Core واجهات برمجة التطبيقات HTTP من خلال خادمين: خادم الكتابة للالتزامات وخادم القراءة للاستعلامات.

نظرة عامة

واجهة برمجة التطبيقات (API) تعتمد على REST مع حمولات JSON. كلا الخادمين (daemons) يوفران نقاط نهاية صحية للمراقبة، وتشتمل الاستجابات على بيانات تعريف عن الحداثة حيثما كان ذلك مناسبًا.

المواصفات الكاملة متاحة في openapi.json في حزمة التوزيع.

الهيكل

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

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

السياق:

  • المجال: بنية تحتية للبلوكشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: 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

نقاط نهاية Daemon

الطريقةالمسارالوصف
POST/v1/commitتقديم معاملة
POST/v1/register/classتسجيل فئة أصل جديدة
POST/v1/register/class-shapeتسجيل شكل لفئة
GET/v1/healthفحص الصحة مع حالة سجل الالتزام
GET/v1/metricsمقاييس بروميثيوس

نقاط نهاية Daemon قراءة

الطريقةالمسارالوصف
GET/v1/read/container/{id}الحصول على بيانات التعريف للحاوية
GET/v1/read/container/{id}/balancesالحصول على أرصدة الحاوية
GET/v1/read/container/{id}/slotsالحصول على فتحات الحاوية
GET/v1/read/container/{id}/gridالحصول على شبكة الحاوية
GET/v1/read/class/{id}الحصول على تفاصيل الفئة
GET/v1/read/classesقائمة بالفئات المسجلة
GET/v1/read/class/{id}/shapesالحصول على أشكال الفئة
GET/v1/read/class/{id}/statsالحصول على إحصائيات الفئة
GET/v1/read/freshnessالحصول على بيانات التعريف للانتعاش
GET/v1/healthفحص الصحة

الحقول

رؤوس الطلبات

العنوانمطلوبالوصف
Content-Typeنعميجب أن يكون application/json لطلبات POST
X-Idempotency-Keyلابديل لحقل جسم الطلب

رؤوس الاستجابة

العنوانالوصف
X-Asset-Idempotencyhit إذا كانت الاستجابة مخزنة
Content-Typeدائمًا application/json

حقول الاستجابة الشائعة

استجابات النجاح تشمل:

{
  "global_seq": 42,
  "batch_seq": 1,
  "minted_instances": [9001, 9002],
  "metadata": { ... }
}

استجابات الاستعلام تشمل الحداثة:

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

{
  "data": { ... },
  "freshness": {
    "checkpoint_seq": 42,
    "commit_log_seq": 45
  }
}

أمثلة

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

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

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمان وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: 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

تقديم معاملة

curl -X POST http://localhost:8080/v1/commit \
  -H "Content-Type: application/json" \
  -d '{
    "operations": [
      {
        "op": "CreateContainer",
        "args": {
          "container_id": 1001,
          "kind": "Standard",
          "owner": null
        }
      }
    ],
    "idempotency_key": "create-container-1001"
  }'

استجابة:

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

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

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: 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": 1,
  "batch_seq": 1,
  "minted_instances": [],
  "metadata": {
    "idempotency_key": "create-container-1001"
  }
}

استعلام عن أرصدة الحاويات

curl http://localhost:8081/v1/read/container/1001/balances

استجابة:

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

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

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: 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

{
  "container_id": 1001,
  "balances": [
    {
      "class_id": 100,
      "key": 1,
      "quantity": 500
    }
  ],
  "freshness": {
    "checkpoint_seq": 1,
    "commit_log_seq": 1
  }
}

تحقق من الصحة

curl http://localhost:8080/v1/health

استجابة:

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

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

السياق:

  • المجال: بنية تحتية للبلوك تشين
  • الجمهور: مهندسو الأمن وقادة البنية التحتية
  • الغرض: وثائق تقنية
  • اللغة: 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

{
  "status": "healthy",
  "commit_log": {
    "end_seq": 100,
    "checkpoint_seq": 100,
    "lag": 0,
    "driver": {
      "name": "file",
      "path": "/var/lib/assetcore/commit_log.log"
    }
  }
}

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