ProHoster > Օրագիր > Վարչակազմը > Ինչպես գրել խելացի պայմանագիր Python-ում Ontology ցանցում: Մաս 2. Storage API
Ինչպես գրել խելացի պայմանագիր Python-ում Ontology ցանցում: Մաս 2. Storage API
Սա Python-ում խելացի պայմանագրեր ստեղծելու մասին ուսուցողական հոդվածների երկրորդ մասն է Ontology բլոկչեյն ցանցում: Նախորդ հոդվածում ծանոթացանք Blockchain & Block API Օնտոլոգիայի խելացի պայմանագիր.
Այսօր մենք կքննարկենք, թե ինչպես օգտագործել երկրորդ մոդուլը. Պահպանման API. Storage API-ն ունի հինգ առնչվող API, որոնք թույլ են տալիս ավելացում, ջնջում և փոփոխություններ կատարել բլոկչեյնի վրա խելացի պայմանագրերի մշտական պահպանման մեջ:
Ստորև բերված է այս հինգ API-ների համառոտ նկարագրությունը.
Եկեք ավելի սերտ նայենք, թե ինչպես օգտագործել այս հինգ API-ները:
GetContext и GetReadOnlyContext ստանալ այն համատեքստը, որում կատարվում է ընթացիկ խելացի պայմանագիրը: Վերադարձի արժեքը ներկայիս խելացի պայմանագրի հեշի հակառակն է: Ինչպես անունն է հուշում, GetReadOnlyContext վերցնում է միայն կարդալու համատեքստը: Ստորև բերված օրինակում վերադարձի արժեքը վերևի աջ անկյունում ցուցադրված պայմանագրի հեշի հակադարձ արժեքն է:
Դնել
Ֆունկցիա Դնել պատասխանատու է բլոկչեյնի վրա տվյալների պահպանման համար բառարանի տեսքով։ Ինչպես ցույց է տրված, Դնել վերցնում է երեք պարամետր. GetContext վերցնում է ներկայումս գործող խելացի պայմանագրի համատեքստը, բանալին այն բանալի արժեքն է, որն անհրաժեշտ է տվյալների պահպանման համար, իսկ արժեքը՝ տվյալների արժեքն է, որը պետք է պահպանվի: Նկատի ունեցեք, որ եթե բանալիի արժեքն արդեն խանութում է, ֆունկցիան կթարմացնի իր համապատասխան արժեքը։
Ֆունկցիա Ստանալ պատասխանատու է ընթացիկ բլոկչեյնում տվյալների ընթերցման համար՝ առանցքային արժեքի միջոցով: Ստորև բերված օրինակում դուք կարող եք լրացնել հիմնական արժեքը աջ կողմում գտնվող ընտրանքների վահանակում՝ գործառույթն իրականացնելու համար և կարդալ բլոկչեյնի հիմնական արժեքին համապատասխանող տվյալները:
ջնջել
Ֆունկցիա ջնջել պատասխանատու է բլոկչեյնում տվյալների ջնջման համար՝ առանցքային արժեքի միջոցով: Ստորև բերված օրինակում կարող եք լրացնել գործառույթի հիմնական արժեքը աջ կողմում գտնվող ընտրանքների վահանակում և ջնջել բլոկչեյնի հիմնական արժեքին համապատասխանող տվյալները:
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)
Հետո
Blockchain պահեստավորումը ամբողջ բլոկչեյն համակարգի առանցքն է: Ontology Storage API-ն հեշտ է օգտագործել և հարմար է մշակողների համար:
Մյուս կողմից, պահեստը հաքերային հարձակումների կիզակետն է, ինչպիսին է անվտանգության սպառնալիքը, որը մենք նշեցինք նախորդ հոդվածներից մեկում. պահեստավորման ներարկման հարձակումՄշակողները պարտավոր են հատուկ ուշադրություն դարձնել անվտանգությանը պահպանմանը վերաբերող կոդ գրելիս: Ամբողջական ուղեցույցը կարող եք գտնել մեր կայքում GitHub այստեղ
Հաջորդ հոդվածում մենք կքննարկենք, թե ինչպես օգտագործել Runtime API.
Հոդվածը թարգմանվել է Hashrate&Shares-ի խմբագիրների կողմից հատուկ OntologyRussia-ի համար։ լաց
Դուք ծրագրավորող եք: Միացեք մեր տեխնոլոգիական համայնքին Discord. Բացի այդ, նայեք Մշակողների կենտրոն Օնտոլոգիա, այնտեղ կարող եք գտնել ավելի շատ գործիքներ, փաստաթղթեր և շատ ավելին: