Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч API

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч API

Бул Ontology blockchain тармагында Pythonдо акылдуу келишимдерди түзүү боюнча билим берүүчү макалалардын сериясынын экинчи бөлүгү. Мурунку макалада биз таанышканбыз Blockchain & Block API Онтология акылдуу келишим.

Бүгүн биз экинчи модулду кантип колдонууну талкуулайбыз — Storage API. Storage API'де блокчейндеги акылдуу келишимдердеги туруктуу сактагычты кошууга, жок кылууга жана өзгөртүүгө мүмкүндүк берген беш байланыштуу API бар.

Төмөндө бул беш API кыскача сүрөттөлүшү болуп саналат:

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч API

Келгиле, бул беш APIди кантип колдонууну кененирээк карап чыгалы.

0. Келгиле жаңы келишим түзөлү SmartX

1. Storage API кантип колдонуу керек

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext учурдагы акылдуу келишим аткарылган контекстти алуу. Кайтаруу мааниси учурдагы акылдуу келишим хэшинин тескери мааниси. Аты айтып тургандай, GetReadOnlyContext окуу үчүн гана контекстти алат. Төмөндөгү мисалда, кайтаруу мааниси жогорку оң бурчта көрсөтүлгөн келишим хэштин тескери мааниси болуп саналат.

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч API

коюу

милдети коюу сөздүк түрүндө blockchain боюнча маалыматтарды сактоо үчүн жооптуу болуп саналат. Көрсөтүлгөндөй, коюу үч параметрди алат. GetContext учурда иштеп жаткан акылдуу келишимдин контекстин алат, ачкыч - маалыматты сактоо үчүн зарыл болгон ачкычтын мааниси, ал эми маани - сакталышы керек болгон маалыматтардын мааниси. Көңүл буруңуз, эгерде ачкычтын мааниси дүкөндө мурунтан эле болсо, функция анын тиешелүү маанисин жаңылайт.

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

алуу

милдети алуу негизги мааниси аркылуу учурдагы блокчейндеги маалыматтарды окуу үчүн жооптуу. Төмөндөгү мисалда, сиз функцияны аткаруу үчүн оң жактагы параметрлер панелиндеги ачкыч маанисин толтуруп, блокчейндеги негизги мааниге туура келген маалыматтарды окуй аласыз.

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч API

жок кылуу

милдети жок кылуу ачкыч мааниси аркылуу блокчейндеги маалыматтарды жок кылуу үчүн жооптуу. Төмөндөгү мисалда сиз функциянын ачкыч маанисин оң жактагы опциялар панелинде толтуруп, блокчейндеги негизги мааниге туура келген маалыматтарды өчүрө аласыз.

Онтология тармагында Pythonдо акылдуу келишимди кантип жазуу керек. 2-бөлүк: Сактагыч 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)

аягы

Blockchain сактоо бүт blockchain системасынын өзөгү болуп саналат. Ontology Storage API колдонууга оңой жана иштеп чыгуучуларга ыңгайлуу.

Башка жагынан алганда, сактоо хакердик чабуулдардын чордону болуп саналат, мисалы, биз мурунку макалалардын биринде айтылган коопсуздук коркунучу - сактоо инъекциялык чабуулИштеп чыгуучулар сактагычка тиешелүү кодду жазып жатканда коопсуздукка өзгөчө көңүл бурушу керек. Толук колдонмону биздин сайттан таба аласыз GitHub бул жерде.

Кийинки макалада биз кантип колдонууну талкуулайбыз Runtime API.

Макала Hashrate&Shares редакторлору тарабынан өзгөчө OntologyRussia үчүн которулган. ыйлоо

Сиз иштеп чыгуучусузбу? Биздин технологиялык коомчулукка кошулуңуз келишпестиктерге. Ошондой эле, карап көрүңүз Иштеп чыгуучу борбор Онтология, сиз ал жерден көбүрөөк куралдарды, документтерди жана башка көп нерселерди таба аласыз.

Иштеп чыгуучулар үчүн ачык тапшырмалар. Тапшырманы аткарып, сыйлык алыңыз.

Арыз берүү студенттер үчүн онтология талант программасы үчүн

онтология

Онтология сайты - GitHub - келишпестиктерге - Telegram орусча - Twitter - Reddit

Source: www.habr.com

Комментарий кошуу