
To je drugi del serije izobraževalnih člankov o ustvarjanju pametnih pogodb v Pythonu na blockchain omrežju Ontology. V prejšnjem članku smo se spoznali z pametan pogodba Ontology.
Danes bomo razpravljali o tem, kako uporabiti drugi modul— Storage API. Storage API ima pet povezanih API-jev, ki omogočajo dodajanje, brisanje in spremembe v trajnem shranjevanju v pametnih pogodbah na blockchainu.
Spodaj je kratek opis teh petih API-jev:

Poglejmo podrobneje, kako uporabljati teh pet API-jev.
0. Ustvarimo novo pogodbo
1. Kako uporabljati Storage API
GetContext & GetReadOnlyContext
GetContext in GetReadOnlyContext pridobiva kontekst, v katerem se izvaja trenutna pametna pogodba. Vračena vrednost je povratna trenutnemu Hashu pametne pogodbe. Kot pove ime, GetReadOnlyContext vzame kontekst samo za branje. V spodnjem primeru je vračena vrednost povratna vrednost Hasha pogodbe, prikazanega v zgornjem desnem kotu.

Put
Funkcija Put je odgovorna za shranjevanje podatkov na blockchainu v obliki slovarja. Kot je prikazano, Put sprejema tri parametre. GetContext vzame kontekst trenutno izvajane pametne pogodbe, key— to je vrednost ključa, ki jo je treba shraniti, in value— to je vrednost podatkov, ki jih je treba shraniti. Upoštevajte, če je vrednost ključa že v shrambi, bo funkcija posodobila ustrezno vrednost.

Get
Funkcija Get je odgovorna za branje podatkov v trenutnem blockchainu preko vrednosti ključa. V spodnjem primeru lahko v panelu parametrov desno vstavite vrednost ključa, da izvedete funkcijo in preberete podatke, povezane z vrednostjo ključa na blockchainu.

Delete
Funkcija Delete je odgovorna za brisanje podatkov na blockchainu preko vrednosti ključa. V spodnjem primeru lahko v panelu parametrov desno vstavite vrednost ključa, da izvedete funkcijo in izbrišete podatke, ki ustrezajo vrednosti ključa na blockchainu.

2. Primer kode Storage API
Spodnja koda daje podroben primer uporabe petih API-jev: GetContext, Get, Put, Delete in GetReadOnlyContext. Preizkusite lahko zagon teh API-jev v .
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)Zadnja misel
Blockchain storage is the core of the entire blockchain system. The Ontology Storage API is easy to use and developer-friendly.
On the other hand, the storage is the focus of hacker attacks, such as the security threat we mentioned in one of the previous articles— , developers must pay special attention to security when writing code that is related to storage. You can find the complete guide on our tu.
In the next article, we will discuss how to use Runtime API.
Članek je bil preveden uredništvom Hashrate&Shares posebej za OntologyRussia.
Da li ste programer? Pridružite se našoj tehničkoj zajednici na . Takođe, posetite Ontology, gde možete pronaći više alata, dokumentaciju i još mnogo toga.
Zatvorite zadatak — dobijte nagradu.
za program talenata Ontology za studente
Ontology
— — — — —
Izvor: habr.com
