
هذا هو البرنامج التعليمي الرسمي الذي تم نشره مسبقًا على مدونة Ontology Medium
متحمس لنشره لقراء هبر. لا تتردد في طرح أي أسئلة ذات صلة واقتراح تنسيق أفضل للمواد التعليمية
مقدمة
في وقت سابق ، في الجزء 1 ، قدمنا عقد
Blockchain & Block API الخاص بالأنطولوجيا. سنناقش اليوم كيفية استخدام الوحدة الثانية:
Storage API . يحتوي واجهة برمجة تطبيقات التخزين على خمسة واجهات برمجة التطبيقات ذات الصلة التي تتيح الجمع والحذف والتغييرات في التخزين المستمر في العقود الذكية blockchain. فيما يلي وصف موجز لواجهة برمجة التطبيقات الخمسة:

دعونا نلقي نظرة فاحصة على كيفية استخدام واجهات برمجة التطبيقات الخمسة هذه. أولاً ، قم بإنشاء عقد جديد
SmartX ثم اتبع الخطوات أدناه. Aa المعتاد ، في نهاية المقال ، سنوفر رابط GitHub للكود المصدري.
2 كيفية استخدام API التخزين
2.1 GetContext & GetReadOnlyContext
GetContext & GetReadOnlyContext يحصل على السياق الذي يعمل فيه العقد الذكي الحالي. قيمة الإرجاع هي عكس تجزئة العقد الذكية الحالية. كما يوحي الاسم ، يحصل
GetReadOnlyContext على سياق وضع القراءة فقط. في المثال أدناه ، تكون قيمة الإرجاع هي عكس تجزئة العقد المعروضة في الزاوية اليمنى العليا.

2.2 ضع
وظيفة
Put هي المسؤولة عن تخزين البيانات على blockchain في شكل قاموس. كما هو مبين ، يقبل Put ثلاثة معايير.
يعمل GetContext على تشغيل سياق العقد الذكي الحالي ، والمفتاح هو القيمة الأساسية التي تحتاج إلى تخزين البيانات ، والقيمة هي قيمة البيانات التي يجب تخزينها. يرجى ملاحظة أنه إذا كانت القيمة الرئيسية قيد التخزين بالفعل ، فستقوم الوظيفة بتحديث قيمتها المقابلة.

2.3 الحصول عليها
وظيفة
Get هي المسؤولة عن قراءة البيانات الموجودة في blockchain الحالية من خلال قيمة المفتاح. في المثال أدناه ، يمكنك ملء قيمة المفتاح في لوحة المعلمة على اليمين لتشغيل الوظيفة وقراءة البيانات المقابلة لقيمة المفتاح في blockchain:

2.4 حذف
وظيفة
الحذف هي المسؤولة عن حذف البيانات في blockchain من خلال قيمة المفتاح. في المثال أدناه ، يمكنك ملء قيمة المفتاح لتشغيل الوظيفة في لوحة المعلمة على اليمين وحذف البيانات المقابلة لقيمة المفتاح في blockchain:

3 رمز التخزين API عينة
يعطي التعليمة البرمجية التالية مثالاً مفصلاً لاستخدام APIs الخمسة:
GetContext؛ الحصول على. وضع. حذف. و GetReadOnlyContext . يمكنك محاولة تشغيل واجهات برمجة التطبيقات هذه على
SmartX .
from ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext from ontology.interop.System.Runtime import Notify def Main(operation,args): if operation == 'get_sc': return get_sc() if operation == 'get_read_only_sc': return get_read_only_sc() if operation == 'get_data': key=args[0] return get_data(key) if operation == 'save_data': key=args[0] value=args[1] return save_data(key, value) if operation == 'delete_data': key=args[0] return delete_data(key) return False def get_sc(): return GetContext() def get_read_only_sc(): return GetReadOnlyContext() def get_data(key): sc=GetContext() data=Get(sc,key) return data def save_data(key, value): sc=GetContext() Put(sc,key,value) def delete_data(key): sc=GetContext() Delete(sc,key)
خاتمة
تخزين Blockchain هو جوهر نظام blockchain بأكمله.
استخدام واجهة برمجة تطبيقات التخزين Ontology بسيط للغاية وصديق للمطورين.من ناحية أخرى ، فإن التخزين هو محور المتسللين ، مثل تهديد الأمان الذي ذكرناه في مقال سابق:
هجوم حقن التخزين ، يجب على المطورين إيلاء اهتمام خاص لأمان التعليمات البرمجية عند كتابة التعليمات البرمجية ذات الصلة بالتخزين.
ابحث عن البرنامج التعليمي المفصل على جيثب
هنا .
في المقالة التالية ، سنناقش كيفية استخدام
واجهة برمجة تطبيقات وقت التشغيل . ترقبوا!
هل أنت مطور؟ تأكد من انضمامك إلى مجتمع التكنولوجيا الخاص بنا على
Discord . أيضًا ، ألق نظرة على
مركز Developer على موقعنا ، حيث يمكنك العثور على أدوات مطور البرامج والوثائق وغير ذلك الكثير.
البحث عن الأنطولوجيا في مكان آخر
موقع علم الوجودجيثب /
الشقاقبرقية (
الإنجليزية /
الروسية )
تويتر /
رديت /