العمليات حسب المجال

يوفر Asset Core 16 عملية عبر 5 مجالات. توثق هذه المرجعية كل عملية مع معطياتها، والأخطاء، والأمثلة.

نظرة عامة

تُصنَّف العمليات حسب نوع الكيان الذي تؤثر عليه. كل عملية لديها:

  • العلامات التي تصف المجال، الإجراء، النطاق، وقابلية العكس
  • الحجج المحددة للعملية
  • الأخطاء التي قد يتم إرجاعها
  • مثال يوضح الاستخدام النموذجي

الهيكل

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

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

السياق:

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

جميع العمليات تستخدم نفس الظرف:

{
  "op": "OperationName",
  "args": { ... }
}

الحقول

تعريفات العلامات

النطاق: ما نوع الكيان المتأثر

  • container, balance, instance, slot, schema

الإجراء: ما نوع التغيير

  • create, destroy, move, link, consolidate

النطاق: عدد الكيانات

  • single, multi

الرجعية: هل يمكن التراجع عنها

  • قابل للعكس، تدميري، محايد

أمثلة

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

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

السياق:

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

عمليات الحاويات

CreateContainer

ينشئ حاوية جديدة لتخزين الأصول.

Tags: container create single reversible

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعممعرف الحاوية الفريد
kindسلسلةنعمنوع الحاوية: Standard، Slots، أو Grid
ownerعدد صحيحلامعرف المالك الاختياري

الأخطاء: ContainerAlreadyExists

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

RemoveContainer

يحذف حاوية فارغة.

Tags: container destroy single destructive

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية التي سيتم إزالتها

الأخطاء: ContainerNotFound

{
  "op": "RemoveContainer",
  "args": {
    "container_id": 1001
  }
}

عمليات التوازن

AddFungible

يضيف الكمية إلى رصيد قابل للتبادل.

Tags: balance create single reversible

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية المستهدفة
class_idعدد صحيحنعمفئة الأصول
keyعدد صحيحنعممفتاح الرصيد
quantityعدد صحيحنعمالكمية المراد إضافتها

الأخطاء: InvalidQuantity, ContainerNotFound, WrongContainerKind, UnregisteredClassShape, InvalidOperation

{
  "op": "AddFungible",
  "args": {
    "container_id": 1001,
    "class_id": 100,
    "key": 1,
    "quantity": 500
  }
}

RemoveFungible

يزيل الكمية من رصيد قابل للتبادل.

Tags: balance destroy single destructive

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية المستهدفة
class_idعدد صحيحنعمفئة الأصول
keyعدد صحيحنعممفتاح الرصيد
quantityعدد صحيحنعمالكمية المراد إزالتها

الأخطاء: InvalidQuantity, ContainerNotFound, WrongContainerKind, InsufficientBalance

{
  "op": "RemoveFungible",
  "args": {
    "container_id": 1001,
    "class_id": 100,
    "key": 1,
    "quantity": 100
  }
}

TransferFungible

ينقل الكمية القابلة للتبادل بين الحاويات.

Tags: balance move multi neutral

الحجةالنوعمطلوبالوصف
from_containerعدد صحيحنعمحاوية المصدر
to_containerعدد صحيحنعمحاوية الوجهة
class_idعدد صحيحنعمفئة الأصل
keyعدد صحيحنعممفتاح الرصيد
quantityعدد صحيحنعمالمبلغ المراد نقله

الأخطاء: InvalidQuantity, InvalidOperation, ContainerNotFound, WrongContainerKind, InsufficientBalance, UnregisteredClassShape

{
  "op": "TransferFungible",
  "args": {
    "from_container": 1001,
    "to_container": 1002,
    "class_id": 100,
    "key": 1,
    "quantity": 250
  }
}

MergeStacks

يجمع بين مجموعتين قابلتين للتبادل في واحدة.

Tags: balance consolidate multi reversible

الحجةالنوعمطلوبالوصف
src_stackعدد صحيحنعمالمكدس الذي سيتم الدمج منه
dst_stackعدد صحيحنعمالمكدس الذي سيتم الدمج فيه

الأخطاء: InvalidOperation, ContainerNotFound, WrongContainerKind, StackNotFound, IncompatibleStacks

ConsolidateStacks

يتم دمج جميع المكدسات المتطابقة في حاوية.

Tags: balance consolidate multi reversible

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية للتجميع
class_idعدد صحيحنعمفئة الأصول
keyعدد صحيحنعممفتاح الرصيد

الأخطاء: ContainerNotFound, WrongContainerKind, InvalidOperation, StackNotFound

عمليات الحالة

MintInstance

ينشئ مثيلاً فريداً جديداً.

Tags: instance create single reversible

الحجةالنوعمطلوبالوصف
class_idعدد صحيحنعمفئة المثيل
keyعدد صحيحنعممفتاح المثيل

الأخطاء: IntegerOverflow

{
  "op": "MintInstance",
  "args": {
    "class_id": 200,
    "key": 1
  }
}

تم إرجاع معرف الحالة المُصدرة في minted_instances.

BurnInstance

يدمر مثيلاً فريداً بشكل دائم.

Tags: instance destroy single destructive

الحجةالنوعمطلوبالوصف
instance_idعدد صحيحنعمالمثيل المراد تدميره

الأخطاء: InstanceNotFound, HasChildren

إرفاق

يُرفق مثيل طفل بمثيل والد.

Tags: instance link multi reversible

الحجةالنوعمطلوبالوصف
child_instanceعدد صحيحنعمالمثيل الذي سيتم إرفاقه
parent_instanceعدد صحيحنعمالمثيل الأب

الأخطاء: InvalidOperation, InstanceNotFound, AlreadyAttached, WouldCreateCycle

فصل

يفصل مثيلاً عن والده.

Tags: instance link single destructive

الحجةالنوعمطلوبالوصف
child_instanceعدد صحيحنعمالمثيل الذي سيتم فصله

الأخطاء: InstanceNotFound, NotAttached

عمليات الفتحات

PlaceInSlot

يضع مثيلاً في فتحة الحاوية.

Tags: slot move single reversible

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية المستهدفة
instance_idعدد صحيحنعمالمثيل الذي سيتم وضعه
slot_indexعدد صحيحنعمموقع الفتحة

الأخطاء: ContainerNotFound, WrongContainerKind, SlotOutOfBounds, InstanceNotFound, SlotOccupied

{
  "op": "PlaceInSlot",
  "args": {
    "container_id": 1001,
    "instance_id": 9001,
    "slot_index": 0
  }
}

RemoveFromSlot

يتم إزالة مثيل من فتحة.

Tags: slot move single destructive

الحجةالنوعمطلوبالوصف
container_idعدد صحيحنعمالحاوية المستهدفة
slot_indexعدد صحيحنعمموضع الفتحة

الأخطاء: ContainerNotFound, WrongContainerKind, SlotOutOfBounds, SlotEmpty

SwapSlots

تبادل المحتويات بين شريحتين.

Tags: slot move multi neutral

الحجةالنوعمطلوبالوصف
container_aعدد صحيحنعمالحاوية الأولى
slot_aعدد صحيحنعمالفتحة الأولى
container_bعدد صحيحنعمالحاوية الثانية
slot_bعدد صحيحنعمالفتحة الثانية

الأخطاء: InvalidOperation, ContainerNotFound, WrongContainerKind, SlotOutOfBounds, SlotEmpty

عمليات المخطط

RegisterClass

يسجل تعريف فئة أصول جديدة.

Tags: schema create single reversible

الحجةالنوعمطلوبالوصف
request.class_idعدد صحيحنعممعرف فريد للفئة
request.nameسلسلةنعماسم قابل للقراءة البشرية
request.fungibleمنطقينعمما إذا كانت الأصول قابلة للتبادل

الأخطاء: ClassAlreadyExists, ClassCapacityExceeded

{
  "op": "RegisterClass",
  "args": {
    "request": {
      "class_id": 100,
      "name": "Gold Coin",
      "fungible": true
    }
  }
}

RegisterClassShape

يضيف تكوين شكل إلى فئة موجودة.

Tags: schema create single reversible

الحجةالنوعمطلوبالوصف
request.class_idعدد صحيحنعمالفصل للتكوين
request.shape_idعدد صحيحنعممعرف الشكل الفريد
request.widthعدد صحيحنعمعرض الشكل
request.heightعدد صحيحنعمارتفاع الشكل

الأخطاء: ClassNotFound, ShapeAlreadyDefined

{
  "op": "RegisterClassShape",
  "args": {
    "request": {
      "class_id": 200,
      "shape_id": 1,
      "width": 2,
      "height": 3
    }
  }
}

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