استخدام SDK بايثون
هذا الدليل يوضح كيفية تحقيق نفس النتيجة كما في HTTP quickstart باستخدام Asset Core Python SDK مع عمليات محددة.
المتطلبات المسبقة
- Python 3.11+
- تعمل خدمات Asset Core محليًا (انظر First Commit and Read)
pipأوuvلتثبيت الحزم
الخطوة 1 - تثبيت SDK
من جذر مستودع Asset Core:
cd sdk-python
pip install -e .
أو مع uv:
إرشادات إضافية:
النبرة: رسمية السجل: تقني
السياق:
- المجال: بنية تحتية للبلوك تشين
- الجمهور: مهندسو الأمان وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: ar
- الاتجاه: من اليمين إلى اليسار
القيود:
- استخدام لغة محايدة للجنس
- الحفاظ على أسماء العلامات التجارية
- الحفاظ على الدقة التقنية
- ضمان أن تظل علامات الترقيم والترقيم مناسبة من حيث الاتجاه
- الاحتفاظ بأسماء العلامات التجارية والمصطلحات دون ترجمة
الحفاظ على هذه المصطلحات بالضبط (لا تترجم): Asset Core، Asset‑Core، CSP، API، Docker، ECS، daemon، L1، L2، L3، OpenGraph، GitHub، Astro، TypeScript، JavaScript، ℤ، ℤ²، ℤ³، ℝ²، ℝ³، 0D، 1D، 2D، 3D
uv venv --seed .venv-sdk
source .venv-sdk/bin/activate
cd sdk-python
uv pip install -e .
الخطوة 2 - إنشاء العميل
from assetcore_sdk import AssetCoreClient
client = AssetCoreClient(
write_url="http://127.0.0.1:8080",
read_url="http://127.0.0.1:8081"
)
يتولى العميل إدارة تجميع الاتصالات ومنطق إعادة المحاولة نيابةً عنك.
الخطوة 3 - عمليات البناء
استخدم بناة العمليات المكتوبة:
إرشادات إضافية:
نبرة: رسمية سجل: تقني
سياق:
- المجال: بنية تحتية للبلوكشين
- الجمهور: مهندسو الأمان وقادة البنية التحتية
- الغرض: وثائق تقنية
- اللغة: 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
from assetcore_sdk.operations import (
create_container,
add_fungible
)
operations = [
create_container(
container_id=1001,
kind="Standard"
),
add_fungible(
container_id=1001,
class_id=100,
key=1,
quantity=500
)
]
تُرجع كل دالة قاموسًا يتطابق مع تنسيق عملية JSON.
الخطوة 4 - إرسال الالتزام
result = await client.commit(
operations=operations,
idempotency_key="sdk-first-commit"
)
print(f"Committed at sequence {result.global_seq}")
أو استخدم النسخة المتزامنة:
result = client.commit_sync(
operations=operations,
idempotency_key="sdk-first-commit"
)
الخطوة 5 - قراءة الحالة
container = await client.get_container_balances(1001)
for balance in container.balances:
print(f"Class {balance.class_id}: {balance.quantity}")
الاستجابة تتضمن حقول مكتوبة وبيانات تحديث.
استكشاف الأخطاء وإصلاحها
”ModuleNotFoundError: assetcore_sdk”
لم يتم تثبيت SDK في بيئتك الحالية. تأكد من أنك قمت بتفعيل البيئة الافتراضية الصحيحة وتشغيل pip install -e . من دليل sdk-python.
أخطاء الاتصال
لا تعمل الـ daemons أو أنها على منافذ مختلفة. يرفع SDK assetcore_sdk.errors.ConnectionError مع تفاصيل حول الـ daemon الذي فشل.
أخطاء التحقق
تؤدي معايير العملية غير الصالحة إلى رفع assetcore_sdk.errors.ValidationError مع الحقل المحدد الذي فشل. تحقق من مرجع العملية للحصول على الحقول المطلوبة.
الخطوات التالية
- Python SDK Reference - الوثائق الكاملة لواجهة برمجة التطبيقات
- العمليات حسب المجال - قائمة العمليات الكاملة
- الوصفات - أنماط العمليات المتعددة الشائعة