рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

рдпрд╣ рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдмрдирд╛рдиреЗ рдкрд░ рд╢реИрдХреНрд╖рд┐рдХ рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рд╣реИред рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдкрд░рд┐рдЪрд┐рдд рд╣реБрдП рдереЗ рдмреНрд▓реЙрдХрдЪреЗрди рдФрд░ рдмреНрд▓реЙрдХ рдПрдкреАрдЖрдИ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзред

рдЖрдЬ рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рджреВрд╕рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ- рднрдВрдбрд╛рд░рдг рдПрдкреАрдЖрдИ. рд╕реНрдЯреЛрд░реЗрдЬ рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд╛рдВрдЪ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рд╣реИрдВ рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдиреАрдЪреЗ рдЗрди рдкрд╛рдВрдЪ рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

рдЖрдЗрдП рдЗрди рдкрд╛рдВрдЪ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

0. рдЖрдЗрдП рдПрдХ рдирдпрд╛ рдЕрдиреБрдмрдВрдз рдмрдирд╛рдПрдВ SmartX

1. рд╕реНрдЯреЛрд░реЗрдЬ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

GetContext рдФрд░ GetReadOnlyContext

GetContext ╨╕ GetReadOnlyContext рд╡рд╣ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рд╡рд░реНрддрдорд╛рди рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд╣реИрд╢ рдХрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдо рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, GetReadOnlyContext рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрджрд░реНрдн рд▓реЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд░рд┐рдЯрд░реНрди рдорд╛рди рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЕрдиреБрдмрдВрдз рд╣реИрд╢ рдХрд╛ рд╡реНрдпреБрддреНрдХреНрд░рдо рд╣реИред

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

рдбрд╛рд▓

рд╕рдорд╛рд░реЛрд╣ рдбрд╛рд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛, рдбрд╛рд▓ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ. GetContext рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрддрд╛ рд╣реИ, рдХреБрдВрдЬреА рдЙрд╕ рдХреБрдВрдЬреА рдХрд╛ рдореВрд▓реНрдп рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдореВрд▓реНрдп рдЙрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдореВрд▓реНрдп рд╣реИ рдЬрд┐рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдХреБрдВрдЬреА рдХрд╛ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдЯреЛрд░ рдореЗрдВ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдЙрд╕рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджреЗрдЧрд╛ред

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИhashrate-and-shares.ru/images/obzorontology/python/functionput.png

рд╕рдорд╛рд░реЛрд╣ рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдореБрдЦреНрдп рдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╛рдИрдВ рдУрд░ рд╡рд┐рдХрд▓реНрдк рдкреИрдирд▓ рдореЗрдВ рдореБрдЦреНрдп рдорд╛рди рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдореБрдЦреНрдп рдорд╛рди рдХреЗ рдЕрдиреБрд░реВрдк рдбреЗрдЯрд╛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

рдорд┐рдЯрд╛рдирд╛

рд╕рдорд╛рд░реЛрд╣ рдорд┐рдЯрд╛рдирд╛ рдХреБрдВрдЬреА рдорд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рджрд╛рдИрдВ рдУрд░ рд╡рд┐рдХрд▓реНрдк рдкреИрдирд▓ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдорд╛рди рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдореБрдЦреНрдп рдорд╛рди рдХреЗ рдЕрдиреБрд░реВрдк рдбреЗрдЯрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВред рднрд╛рдЧ 2: рд╕рдВрдЧреНрд░рд╣рдг рдПрдкреАрдЖрдИ

2. рд╕реНрдЯреЛрд░реЗрдЬ рдПрдкреАрдЖрдИ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдкрд╛рдВрдЪ рдПрдкреАрдЖрдИ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИ: GetContext, Get, put, Delete рдФрд░ GetReadOnlyContextред рдЖрдк рдПрдкреАрдЖрдИ рдбреЗрдЯрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ 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)

рдЕрдВрддрднрд╛рд╖рдг

рдмреНрд▓реЙрдХрдЪреЗрди рд╕реНрдЯреЛрд░реЗрдЬ рд╕рдВрдкреВрд░реНрдг рдмреНрд▓реЙрдХрдЪреЗрди рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореВрд▓ рд╣реИред рдУрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдЯреЛрд░реЗрдЬ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдФрд░ рдбреЗрд╡рд▓рдкрд░-рдЕрдиреБрдХреВрд▓ рд╣реИред

рджреВрд╕рд░реА рдУрд░, рд╕реНрдЯреЛрд░реЗрдЬ рд╣реИрдХрд░ рд╣рдорд▓реЛрдВ рдХрд╛ рдлреЛрдХрд╕ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдЦрддрд░рд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛- рднрдВрдбрд╛рд░рдг рдЗрдВрдЬреЗрдХреНрд╢рди рд╣рдорд▓рд╛рднрдВрдбрд╛рд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╕рдордп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреВрд░реА рдЧрд╛рдЗрдб рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ GitHub рдпрд╣рд╛рдБ.

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рд░рдирдЯрд╛рдЗрдо рдПрдкреАрдЖрдИ.

рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИрд╢рд░реЗрдЯ рдПрдВрдб рд╢реЗрдпрд░реНрд╕ рдХреЗ рд╕рдВрдкрд╛рджрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдУрдиреНрдЯреЛрд▓реЙрдЬреА рд░реВрд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрд▓рд┐рдХ

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ? рд╣рдорд╛рд░реЗ рддрдХрдиреАрдХреА рд╕рдореБрджрд╛рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ рдХрд▓рд╣. рд╕рд╛рде рд╣реА, рджреЗрдЦреЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЗрдВрджреНрд░ рдСрдиреНрдЯреЛрд▓реЙрдЬреА, рдЖрдк рд╡рд╣рд╛рдВ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдг, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЦреБрд▓реЗ рдХрд╛рд░реНрдп. рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░реЗрдВ рдФрд░ рдкреБрд░рд╕реНрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдкреНрд░рддрд┐рднрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП

рдЖрдВрдЯрд▓рдЬреА

рдУрдиреНрдЯреЛрд▓реЙрдЬреА рд╡реЗрдмрд╕рд╛рдЗрдЯ - GitHub - рдХрд▓рд╣ - рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд░реВрд╕реА - рдЯреНрд╡рд┐рдЯрд░ - рд░реЗрдбрд┐рдЯ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ