Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

Tai antroji edukacinių straipsnių serijos dalis apie išmaniųjų sutarčių kūrimą „Python“ tinkle „Ontology blockchain“. Ankstesniame straipsnyje mes susipažinome su Blockchain ir Block API Ontologijos išmanioji sutartis.

Šiandien aptarsime, kaip naudoti antrąjį modulį – Saugyklos API. „Storage“ API turi penkias susijusias API, kurios leidžia pridėti, ištrinti ir keisti nuolatinę saugyklą išmaniosiose sutartyse blokų grandinėje.

Toliau pateikiamas trumpas šių penkių API aprašymas.

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

Pažvelkime atidžiau, kaip naudoti šias penkias API.

0. Sukurkime naują sutartį „SmartX“

1. Kaip naudoti saugyklos API

GetContext ir GetReadOnlyContext

GetContext и GetReadOnlyContext gauti kontekstą, kuriame vykdoma dabartinė išmanioji sutartis. Grąžinimo vertė yra atvirkštinė dabartinės išmaniosios sutarties maišos vertė. Kaip rodo pavadinimas, GetReadOnlyContext paima tik skaitymo kontekstą. Toliau pateiktame pavyzdyje grąžinama vertė yra atvirkštinė sutarties maišos vertė, rodoma viršutiniame dešiniajame kampe.

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

Sudėti

Funkcija Sudėti yra atsakinga už duomenų saugojimą blokų grandinėje žodyno pavidalu. Taip, kaip parodyta, Sudėti užima tris parametrus. GetContext paima šiuo metu vykdomos išmaniosios sutarties kontekstą, raktas yra rakto, kurio reikia duomenims išsaugoti, reikšmė, o vertė yra duomenų, kuriuos reikia išsaugoti, reikšmė. Atminkite, kad jei rakto reikšmė jau yra parduotuvėje, funkcija atnaujins atitinkamą reikšmę.

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

gauti

Funkcija gauti yra atsakingas už duomenų skaitymą dabartinėje blokų grandinėje per rakto reikšmę. Toliau pateiktame pavyzdyje dešinėje esančiame parinkčių skydelyje galite įrašyti rakto reikšmę, kad vykdytumėte funkciją ir nuskaitytumėte duomenis, atitinkančius rakto reikšmę blokų grandinėje.

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

panaikinti

Funkcija panaikinti yra atsakinga už duomenų ištrynimą blokų grandinėje per rakto reikšmę. Toliau pateiktame pavyzdyje dešinėje esančiame parinkčių skydelyje galite įrašyti funkcijos rakto reikšmę ir ištrinti rakto reikšmę blokų grandinėje atitinkančius duomenis.

Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API

2. Saugyklos API kodo pavyzdys

Toliau pateiktame kode pateikiamas išsamus penkių API naudojimo pavyzdys: GetContext, Get, Put, Delete ir GetReadOnlyContext. Galite pabandyti paleisti API duomenis „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“ saugykla yra visos „blockchain“ sistemos pagrindas. Ontologijos saugyklos API paprasta naudoti ir patogi kūrėjams.

Kita vertus, saugykla yra įsilaužėlių atakų, tokių kaip saugumo grėsmė, kurią minėjome viename iš ankstesnių straipsnių, dėmesio centre. saugojimo injekcijos atakaRašydami kodą, susijusį su saugykla, kūrėjai turi atkreipti ypatingą dėmesį į saugumą. Visą vadovą galite rasti mūsų svetainėje GitHub čia.

Kitame straipsnyje aptarsime, kaip naudoti Vykdymo laiko API.

Straipsnį Hashrate&Shares redaktoriai išvertė specialiai OntologyRussia. spustelėkite

Ar esate kūrėjas? Prisijunkite prie mūsų technologijų bendruomenės adresu Nesantaika. Be to, pažiūrėkite Kūrėjų centras Ontologija, ten galite rasti daugiau įrankių, dokumentacijos ir daug daugiau.

Atviros užduotys kūrėjams. Atlikite užduotį ir gaukite atlygį.

Taikyti ontologijos talentų programai studentams

Ontologija

Ontologijos svetainė - GitHub - Nesantaika - Telegrama rusų kalba - Twitter - reddit

Šaltinis: www.habr.com

Добавить комментарий