Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

Սա երկրորդ մասն է Օնթոլոգիա բլոկչեյնում սմարթ կոնտրակտների ստեղծման ուսուցողական հոդվածների շարքում: Պարզեցված հոդվածում մենք ծանոթացանք Բլոկչեյն & Բլոկ API Օնթոլոգիա սմարթ կոնտրակտի։

Այսօր մենք կքննարկենք, թե ինչպես օգտագործել երկրորդ մոդուլը՝ Storage API. Storage API-ն ունի հինգ նշանակալի API, որոնք թույլ են տալիս ավելացնել, ջնջել և փոփոխել մշտական պահեստում սմարթ կոնտրակտներում:

Ստորև ներկայացված են այս հինգ API-ների բնութագրերը՝

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

Եկեք առավել մանրամասն ուսումնասիրենք, թե ինչպես օգտագործել այս հինգ API-ները:

0. Նոր կոնտրակտ ստեղծենք SmartX

1. Ինչպես օգտագործել Storage API

GetContext & GetReadOnlyContext

GetContext և GetReadOnlyContext ստանում է այն կոնտեքստը, որի մեջ կատարվում է ընթացիկ սմարթ կոնտրակտը: Return value-ը հակառակն է ընթացիկ սմարթ կոնտրակտի հեշի: Ինչպես անվանումը ենթադրում է, GetReadOnlyContext ստանում է միայն ընթերցման ռեժիմի կոնտեքստը: Ստորև ներկայացված նմուշում return value-ը հակառակն է գտնված կոնտրակտի հեշին, որը երևում է վերևի աջ անկյունում:

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

Put

Ֆունկցիա Put պատասխանատու է բլոկչեյնում տվյալներ պահպանելու համար բառարանային ձևաչափով: Ինչպես ցուցադրված է, Put ընդունում է երեք պարամետր: GetContext ստանում է ընթացիկ կատարվող սմարթ կոնտրակտի կոնտեքստը, key-ը արժեքն է, որը պետք է պահպանել, իսկ value-ն այն տվյալներն են, որոնք պետք է պահվեն: Միայն նկատեք, որ եթե key-ի արժեքն արդեն պահեստում է, ապա ֆունկցիան կթարմացնի նրա համապատասխան արժեքը:

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

Ֆունկցիա Get պատասխանատու է տվյալները ընթերցելու համար ընթացիկ բլոկչեյնում key-ի արժեքով: Ստորև ներկայացված նմուշում դուք կարող եք լրացնել key-ի արժեքը աջ կողմի պարամետրերի պանելում՝ ֆունկցիան կատարելու և տվյալները ստանալու համար, որոնք համապատասխան են key-ի արժեքին բլոկչեյնում:

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

Ջնջել

Ֆունկցիա Ջնջել պատասխանատու է բլոկչեյնում տվյալները ջնջելու համար key-ի արժեքով: Ստորև ներկայացված նմուշում դուք կարող եք լրացնել key-ի արժեքը, որպեսզի կատարեք ֆունկցիան աջ կողմի պարամետրերի պանելում և ջնջեք տվյալները, որոնք համապատասխան են key-ի արժեքին բլոկչեյնում:

Ինչպես գրել έξsmart կոնտրակտ Python-ի վրա Ontology ցանցում։ Երկրորդ մաս. Storage API

2. Storage API-ի կոդի օրինակ

Ստորև ներկայացված կոդը տալիս է հինգ 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)

Պոսլեվորդահ

Բլոկչեյն պահեստը հանդիսանում է ողջ բլոկչեյն համակարգի միջուկը: Ontology Storage API-ն հեշտ է կիրառել ու հարմար开发者ների համար:

Այդ իսկ պատճառով, հաքերների հարձակումները կենտրոնանում են պահեստավորման վրա, օրինակ, անվտանգության վտանգ, որի մասին մենք խոսել ենք մեր նախորդ հոդվածներից մեկում— պահեստավորման մեջ ներդրման հարձակման, մշակողները պետք է विशेष ուշադրություն դարձնեն անվտանգությանը ՝ կոդ գրելիս, որը կապված է պահեստավորման հետ։ Դուք կարող եք գտնել ամբողջական ուղեցույցը մեր GitHub այստեղ։

Հաջորդ հոդվածում մենք կքննարկենք, թե ինչպես օգտագործել Runtime API.

Հոդվածն թարգմանվել է Hashrate&Shares խմբագրության կողմից հատուկ OntologyRussia-ի համար։ սեղմել

Դուք մշակման մասնագետ եք? Միացեք մեր տեխնիկական համայնքին Discord։ Բացի այդ, հետևեք Մշակողների կենտրոնին Ontology-ում, որտեղ կարող եք գտնել ավելի շատ գործիքներ, փաստաթղթերն ու շատ ավելին։

Մշտադիտարկվող առաջադրանքներ մշակողների համար։ Ավարտեք առաջադրանքը՝ ստացեք փոխհատուցում։

Դիմել Ontology-ի տաղանդների ծրագրի համար ուսանողների համար

Ontology

Ontology կայքGitHubDiscordTelegram ՌուսերենTwitter Reddit

Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster