Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

To je drugi del v seriji izobraževalnih člankov o ustvarjanju pametnih pogodb v Pythonu v omrežju veriženja blokov Ontology. V prejšnjem članku smo se seznanili z Blockchain & Block API Ontološka pametna pogodba.

Danes bomo razpravljali o uporabi drugega modula— API za shranjevanje. Storage API ima pet povezanih API-jev, ki omogočajo dodajanje, brisanje in spreminjanje trajnega shranjevanja v pametnih pogodbah v verigi blokov.

Spodaj je kratek opis teh petih API-jev:

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

Oglejmo si podrobneje, kako uporabljati teh pet API-jev.

0. Ustvarimo novo pogodbo SmartX

1. Kako uporabljati API za shranjevanje

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext pridobite kontekst, v katerem se izvaja trenutna pametna pogodba. Povratna vrednost je inverzna vrednost zgoščene vrednosti trenutne pametne pogodbe. Kot že ime pove, GetReadOnlyContext prevzame kontekst samo za branje. V spodnjem primeru je povratna vrednost obratna zgoščena vrednost pogodbe, prikazana v zgornjem desnem kotu.

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

Put

Funkcija Put je odgovoren za shranjevanje podatkov na blockchain v obliki slovarja. Kot je prikazano, Put ima tri parametre. GetContext vzame kontekst trenutno delujoče pametne pogodbe, ključ je vrednost ključa, ki je potreben za shranjevanje podatkov, vrednost pa je vrednost podatkov, ki jih je treba shraniti. Upoštevajte, da če je vrednost ključa že v shrambi, bo funkcija posodobila ustrezno vrednost.

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanjehashrate-and-shares.ru/images/obzorontology/python/functionput.png

Pridobite

Funkcija Pridobite je odgovoren za branje podatkov v trenutni verigi blokov prek vrednosti ključa. V spodnjem primeru lahko izpolnite vrednost ključa v plošči z možnostmi na desni, da izvedete funkcijo in preberete podatke, ki ustrezajo vrednosti ključa v verigi blokov.

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

Brisanje

Funkcija Brisanje je odgovoren za brisanje podatkov v verigi blokov prek vrednosti ključa. V spodnjem primeru lahko izpolnite vrednost ključa za funkcijo na plošči z možnostmi na desni in izbrišete podatke, ki ustrezajo vrednosti ključa v verigi blokov.

Kako napisati pametno pogodbo v Pythonu v omrežju Ontology. 2. del: API za shranjevanje

2. Primer kode API za shranjevanje

Spodnja koda podaja podroben primer uporabe petih API-jev: GetContext, Get, Put, Delete in GetReadOnlyContext. Lahko poskusite zagnati podatke 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)

spremna beseda

Shramba v verigi blokov je jedro celotnega sistema verige blokov. Ontology Storage API je enostaven za uporabo in razvijalcem prijazen.

Po drugi strani pa je shranjevanje v središču napadov hekerjev, kot je varnostna grožnja, ki smo jo omenili v enem od prejšnjih člankov – napad z vbrizgavanjem pomnilnikaRazvijalci morajo posebno pozornost posvetiti varnosti pri pisanju kode, ki se nanaša na shranjevanje. Celoten vodnik najdete na našem GitHub tukaj.

V naslednjem članku bomo razpravljali o uporabi Runtime API.

Članek so posebej za OntologyRussia prevedli uredniki Hashrate&Shares. kliknite

Ste razvijalec? Pridružite se naši tehnični skupnosti na Razpad. Oglejte si tudi Center za razvijalce Ontologija, tam lahko najdete več orodij, dokumentacije in še veliko več.

Odprte naloge za razvijalce. Izpolnite nalogo in prejmite nagrado.

Prijavite se za program Ontology talent za študente

Ontologija

Ontološka spletna stran - GitHub - Razpad - Telegram ruski - Twitter - Reddit

Vir: www.habr.com

Dodaj komentar