العمليات حسب المجال
يوفر 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
}
}
}
المراجع ذات الصلة
- المعاملات - هيكل الطلب
- الوصفات - أنماط متعددة العمليات
- نموذج الخطأ - معالجة الأخطاء