เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

เบ™เบตเป‰เปเบกเปˆเบ™เบชเปˆเบงเบ™เบ—เบตเบชเบญเบ‡เปƒเบ™เบŠเบธเบ”เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบเบฒเบ™เบชเบถเบเบชเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology blockchain. เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบนเป‰เบˆเบฑเบเบเบฑเบš Blockchain & Block API เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ” Ontology.

เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบกเบ”เบนเบ™เบ—เบตเบชเบญเบ‡ - API เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. API เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบกเบตเบซเป‰เบฒ APIs เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบžเบตเปˆเบก, เบฅเบถเบš, เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ blockchain.

เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบชเบฑเป‰เบ™เป†เบ‚เบญเบ‡เบซเป‰เบฒ APIs เบ™เบตเป‰:

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

เบ‚เปเปƒเบซเป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบฒ APIs เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

0. เบ‚เปเปƒเบซเป‰เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเปƒเบซเบกเปˆ SmartX

1. เบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ Storage API

GetContext & GetReadOnlyContext

GetContext ะธ GetReadOnlyContext เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบžเบฒเบšเบเบฒเบ™เบ—เบตเปˆเบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”. เบกเบนเบ™เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™เปเบกเปˆเบ™เบ›เบตเป‰เบ™เบเบฑเบšเบ‚เบญเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบŠเบทเปˆเปเบ™เบฐเบ™เปเบฒ, GetReadOnlyContext เป€เบญเบปเบฒเบชเบฐเบžเบฒเบšเบเบฒเบ™เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบกเบนเบ™เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™เปเบกเปˆเบ™ inverse เบ‚เบญเบ‡ hash เบชเบฑเบ™เบเบฒเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบกเบธเบกเบ‚เบงเบฒเป€เบ—เบดเบ‡.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆ

เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆ เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ blockchain เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบงเบฑเบ”เบˆเบฐเบ™เบฒเบ™เบธเบเบปเบก. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡, เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆ เปƒเบŠเป‰เป€เบงเบฅเบฒเบชเบฒเบกเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™. GetContext เป€เบญเบปเบฒเบšเปเบฅเบดเบšเบปเบ”เบ‚เบญเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบเบธเบ™เปเบˆเปเบกเปˆเบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบกเบนเบ™เบ„เปˆเบฒเปเบกเปˆเบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเป„เบงเป‰. เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ–เป‰เบฒเบ„เปˆเบฒเบ‚เบญเบ‡เบเบฐเปเบˆเบขเบนเปˆเปƒเบ™เบฎเป‰เบฒเบ™เปเบฅเป‰เบง, เบŸเบฑเบ‡เบŠเบฑเบ™เบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เปˆเบฒเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

เป„เบ”เป‰เบฎเบฑเบš

เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ เป„เบ”เป‰เบฎเบฑเบš เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ blockchain เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบทเปˆเบกเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบเบฐเบ”เบฒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบเบฑเบšเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ blockchain.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

เบฅเบปเบš

เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡ เบฅเบปเบš เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบถเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™ blockchain เบœเปˆเบฒเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเปƒเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เปเบ–เบšเบ•เบปเบงเป€เบฅเบทเบญเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบงเบฒเปเบฅเบฐเบฅเบถเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™ blockchain.

เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ Python เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ Ontology. เบชเปˆเบงเบ™เบ—เบต 2: Storage API

2. เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฐเบซเบฑเบ” Storage API

เบฅเบฐเบซเบฑเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปƒเบซเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบฒ APIs: 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)

Afterword

เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ Blockchain เปเบกเปˆเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš blockchain เบ—เบฑเบ‡เบซเบกเบปเบ”. Ontology Storage API เปเบกเปˆเบ™เปƒเบŠเป‰เบ‡เปˆเบฒเบ เปเบฅเบฐเป€เบ›เบฑเบ™เบกเบดเบ”เบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปเบกเปˆเบ™เบˆเบธเบ”เบชเบธเบกเบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ‚เบญเบ‡เปเบฎเบเป€เบเบต, เป€เบŠเบฑเปˆเบ™เป„เบžเบ‚เบปเปˆเบกเบ‚เบนเปˆเบ”เป‰เบฒเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปƒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ - เบเบฒเบ™โ€‹เป‚เบˆเบกโ€‹เบ•เบตโ€‹เบเบฒเบ™โ€‹เบชเบฑเบโ€‹เบขเบฒโ€‹เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเป€เบ›เบฑเบ™เบžเบดเป€เบชเบ”เบ•เปเปˆเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบ„เบนเปˆเบกเบทเบ„เบปเบšเบ–เป‰เบงเบ™เบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ GitHub เบ—เบตเปˆเบ™เบตเป‰.

เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Runtime API.

เบšเบปเบ”เบ„เบงเบฒเบกเป„เบ”เป‰เบ–เบทเบเปเบ›เป‚เบ”เบเบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™เบ‚เบญเบ‡ Hashrate & Shares เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบš OntologyRussia. เบฎเป‰เบญเบ‡เป„เบซเป‰

เป€เบˆเบปเป‰เบฒเป€เบ›เบฑเบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบšเป? เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบŠเบธเบกเบŠเบปเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆ Discord. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบšเบดเปˆเบ‡ เบชเบนเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Ontology, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบญเบเบฐเบชเบฒเบ™เปเบฅเบฐเบกเบตเบซเบผเบฒเบเบซเบผเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เป€เบ›เบตเบ”เปœเป‰เบฒเบงเบฝเบเบชเบณเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบชเปเบฒเป€เบฅเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบฅเบฒเบ‡เบงเบฑเบ™.

เบชเบฐเปเบฑเบ เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบžเบญเบ™เบชเบฐเบซเบงเบฑเบ™ Ontology เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบฎเบฝเบ™

Ontology

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Ontology - GitHub - Discord - Telegram เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบ - Twitter - เป€เบซเบ”

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™