كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

هذا هو الجزء الثاني من سلسلة المقالات التعليمية حول إنشاء العقود الذكية بلغة بايثون على شبكة Ontology blockchain. في المقال السابق تعرفنا على Blockchain & Block API العقد الذكي الأنطولوجي.

سنناقش اليوم كيفية استخدام الوحدة الثانية — واجهة برمجة تطبيقات التخزين. تحتوي واجهة برمجة تطبيقات التخزين على خمس واجهات برمجة تطبيقات ذات صلة تسمح بإضافة وحذف وتغييرات للتخزين المستمر في العقود الذكية على blockchain.

وفيما يلي وصف موجز لواجهات برمجة التطبيقات الخمس هذه:

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

دعونا نلقي نظرة فاحصة على كيفية استخدام واجهات برمجة التطبيقات الخمس هذه.

0. دعونا إنشاء عقد جديد SmartX

1. كيفية استخدام واجهة برمجة تطبيقات التخزين

GetContext وGetReadOnlyContext

GetContext и GetReadOnlyContext احصل على السياق الذي يتم فيه تنفيذ العقد الذكي الحالي. قيمة الإرجاع هي عكس تجزئة العقد الذكي الحالي. حسب الاسم المقترح، GetReadOnlyContext يأخذ سياق القراءة فقط. في المثال أدناه، قيمة الإرجاع هي عكس تجزئة العقد المعروضة في الزاوية اليمنى العليا.

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

وضع

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

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

تواصل

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

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

حذف

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

كيفية كتابة عقد ذكي في بايثون على شبكة Ontology. الجزء 2: التخزين API

2. مثال على رمز API للتخزين

يقدم الكود أدناه مثالاً تفصيليًا لاستخدام خمس واجهات برمجة التطبيقات: GetContext وGet وPut وDelete وGetReadOnlyContext. يمكنك محاولة تشغيل بيانات API 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 Storage سهلة الاستخدام وسهلة المطورين.

ومن ناحية أخرى، يعد التخزين محور هجمات القراصنة، مثل التهديد الأمني ​​الذي ذكرناه في إحدى المقالات السابقة— هجوم حقن التخزينيُطلب من المطورين إيلاء اهتمام خاص للأمان عند كتابة التعليمات البرمجية المتعلقة بالتخزين. يمكنك العثور على الدليل الكامل على موقعنا GitHub جيثب: هنا.

وفي المقالة القادمة سنناقش كيفية الاستخدام وقت التشغيل API.

تمت ترجمة المقال من قبل محرري Hashrate & Shares خصيصًا لـ OntologyRussia. انقر

هل أنت مطور؟ انضم إلى مجتمعنا التقني في خلاف. أيضا ، الق نظرة على مركز المطورين علم الوجود لمزيد من الأدوات والتوثيق والمزيد.

فتح المهام للمطورين. أغلق المهمة - احصل على مكافأة.

تطبيق لبرنامج المواهب الأنطولوجيا للطلاب

علم الوجود

موقع علم الوجود - GitHub جيثب: - خلاف - برقية روسية - تويتر - رديت

المصدر: www.habr.com

إضافة تعليق