
Ovo je drugi dio serije edukativnih članaka o stvaranju pametnih ugovora na Pythonu u blockchain mreži Ontology. U prethodnom članku upoznali smo se sa pametnim ugovorom Ontology.
Danas ćemo razgovarati o tome kako koristiti drugi modul— Storage API. Storage API sadrži pet povezanih API-ja koji omogućavaju dodavanje, brisanje i izmjene u trajnom skladištu u pametnim ugovorima na blockchainu.
U nastavku slijedi sažetak tih pet API-ja:

Hajde da detaljnije razmotrimo kako koristiti ovih pet API-ja.
0. Stvorimo novi ugovor
1. Kako koristiti Storage API
GetContext & GetReadOnlyContext
GetContext i GetReadOnlyContext dobivaju kontekst u kojem se izvršava trenutni pametni ugovor. Povratna vrijednost predstavlja obrnuti hash trenutnog pametnog ugovora. Kao što ime sugerira, GetReadOnlyContext uzima kontekst u načinu samo za čitanje. U donjem primjeru, povratna vrijednost predstavlja obrnuti hash ugovora koji se prikazuje u gornjem desnom kutu.

Put
Funkcija Put odgovorna je za pohranu podataka u blockchainu u obliku rječnika. Kao što je prikazano, Put prihvata tri parametra. GetContext uzima kontekst trenutnog izvršavanog pametnog ugovora, key— to je vrijednost ključa koju je potrebno sačuvati, a value— to je vrijednost podataka koju je potrebno sačuvati. Imajte na umu, ako se vrijednost ključa već nalazi u skladištu, funkcija će ažurirati njegovu odgovarajuću vrijednost.

Get
Funkcija Get odgovorna je za čitanje podataka u trenutnom blockchainu pomoću vrijednosti ključa. U donjem primjeru možete unijeti vrijednost ključa u panel s parametrima s desne strane kako biste izvršili funkciju i pročitali podatke koji odgovaraju vrijednosti ključa u blockchainu.

Obriši
Funkcija Obriši odgovorna je za brisanje podataka u blockchainu pomoću vrijednosti ključa. U donjem primjeru možete unijeti vrijednost ključa kako biste izvršili funkciju u panelu s parametrima s desne strane i izbrisali podatke koji odgovaraju vrijednosti ključa u blockchainu.

2. Primjer koda Storage API
Donji kod daje detaljan primjer korištenja pet API-ja: GetContext, Get, Put, Delete i GetReadOnlyContext. Možete pokušati pokrenuti ove API-je u .
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)Epilog
Blockchain skladište je jezgra cijelog blockchain sustava. Ontology Storage API je jednostavan za korištenje i ugodan za programere.
S druge strane, skladište je podložna napadima hakera, primjerice, prijetnjama sigurnosti o kojima smo govorili u jednom od prethodnih članaka— , programeri moraju posvetiti posebnu pozornost sigurnosti pri pisanju koda koji je povezan sa skladištem. Možete pronaći cjeloviti vodič na našem ovde.
U sljedećem članku razgovarat ćemo o tome kako koristiti Runtime API.
Članak je preveden uredništvom Hashrate&Shares posebno za OntologyRussia.
Jeste li programer? Pridružite se našoj tehničkoj zajednici na . Također, zavirite u Ontology, gdje možete naći više alata, dokumentaciju i još mnogo toga.
Zatvori zadatak - dobij nagradu.
na program za talente Ontology za studente
Ontology
— — — — —
Izvor: habr.com
