ProHoster > Блог > администрация > Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение
Как да напиша интелигентен договор в Python в мрежата Ontology. Част 2: API за съхранение
Това е втората част от поредица от образователни статии за създаване на интелигентни договори в Python в блокчейн мрежата Ontology. В предишната статия се запознахме с Blockchain & Block API Онтологичен интелигентен договор.
Днес ще обсъдим как да използваме втория модул— API за съхранение. API за съхранение има пет свързани API, които позволяват добавяне, изтриване и промени в постоянното съхранение в интелигентни договори в блокчейна.
По-долу е дадено кратко описание на тези пет API:
Нека да разгледаме по-отблизо как да използваме тези пет API.
GetContext и GetReadOnlyContext вземете контекста, в който се изпълнява текущият интелигентен договор. Връщаната стойност е обратната на текущия хеш на интелигентния договор. Както подсказва името, GetReadOnlyContext приема контекста само за четене. В примера по-долу върнатата стойност е обратната на хеша на договора, показан в горния десен ъгъл.
Слагам
Функция Слагам отговаря за съхраняването на данни в блокчейна под формата на речник. Както е показано, Слагам приема три параметъра. GetContext взема контекста на изпълнявания в момента интелигентен договор, ключът е стойността на ключа, който е необходим за запазване на данните, а стойността е стойността на данните, които трябва да бъдат запазени. Имайте предвид, че ако стойността на ключа вече е в магазина, функцията ще актуализира съответната стойност.
Функция Обратна отговаря за четенето на данните в текущата блокчейн чрез стойността на ключа. В примера по-долу можете да попълните стойността на ключа в панела с опции вдясно, за да изпълните функцията и да прочетете данните, съответстващи на стойността на ключа в блокчейна.
Изтрий
Функция Изтрий е отговорен за изтриването на данни в блокчейна чрез стойността на ключа. В примера по-долу можете да попълните ключовата стойност за функцията в панела с опции вдясно и да изтриете данните, съответстващи на ключовата стойност в блокчейна.
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. кликване
Вие сте разработчик? Присъединете се към нашата техническа общност на раздор. Освен това разгледайте Център за разработчици Онтология за повече инструменти, документация и др.