Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

Това е втората част от поредица от образователни статии за създаване на интелигентни договори в Python в блокчейн мрежата Ontology. В предишната статия се запознахме с Blockchain & Block API Онтологичен интелигентен договор.

Днес ще обсъдим как да използваме втория модул— API за съхранение. API за съхранение има пет свързани API, които позволяват добавяне, изтриване и промени в постоянното съхранение в интелигентни договори в блокчейна.

По-долу е дадено кратко описание на тези пет API:

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

Нека да разгледаме по-отблизо как да използваме тези пет API.

0. Нека създадем нов договор SmartX

1. Как да използвате API за съхранение

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext вземете контекста, в който се изпълнява текущият интелигентен договор. Връщаната стойност е обратната на текущия хеш на интелигентния договор. Както подсказва името, GetReadOnlyContext приема контекста само за четене. В примера по-долу върнатата стойност е обратната на хеша на договора, показан в горния десен ъгъл.

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

Слагам

Функция Слагам отговаря за съхраняването на данни в блокчейна под формата на речник. Както е показано, Слагам приема три параметъра. GetContext взема контекста на изпълнявания в момента интелигентен договор, ключът е стойността на ключа, който е необходим за запазване на данните, а стойността е стойността на данните, които трябва да бъдат запазени. Имайте предвид, че ако стойността на ключа вече е в магазина, функцията ще актуализира съответната стойност.

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранениеhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Обратна

Функция Обратна отговаря за четенето на данните в текущата блокчейн чрез стойността на ключа. В примера по-долу можете да попълните стойността на ключа в панела с опции вдясно, за да изпълните функцията и да прочетете данните, съответстващи на стойността на ключа в блокчейна.

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

Изтрий

Функция Изтрий е отговорен за изтриването на данни в блокчейна чрез стойността на ключа. В примера по-долу можете да попълните ключовата стойност за функцията в панела с опции вдясно и да изтриете данните, съответстващи на ключовата стойност в блокчейна.

Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение

2. Пример за код на 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 тук.

В следващата статия ще обсъдим как да използвате API за изпълнение.

Статията е преведена от редакторите на Hashrate&Shares специално за OntologyRussia. кликване

Вие сте разработчик? Присъединете се към нашата техническа общност на раздор. Освен това разгледайте Център за разработчици Онтология за повече инструменти, документация и др.

Отворени задачи за разработчици. Затворете задачата - вземете награда.

Приложи за програмата за таланти Ontology за студенти

Онтология

Онтологичен уебсайт - GitHub - раздор - Телеграма руски - Twitter - Reddit

Източник: www.habr.com

Добавяне на нов коментар