
Toto je druhá časť série vzdelávacích článkov o vytváraní smart kontraktov v Pythone v blockchainovej sieti Ontology. V predchádzajúcom článku sme sa oboznámili s smart kontraktom Ontology.
Dnes sa budeme zaoberať, ako využiť druhý modul— Storage API. Storage API má päť súvisiacich API, ktoré umožňujú pridávanie, odstraňovanie a zmeny v trvalej pamäti v smart kontraktoch na blockchaine.
Nižšie je uvedený stručný popis týchto piatich API:

Poďme podrobnejšie preskúmať, ako využiť týchto päť API.
0. Vytvorme nový kontrakt
1. Ako používať Storage API
GetContext & GetReadOnlyContext
GetContext a GetReadOnlyContext získavajú kontext, v ktorom sa aktuálny smart kontrakt vykonáva. Hodnota návratu je spätná k aktuálnemu hash-u smart kontraktu. Ako naznačuje názov, GetReadOnlyContext berie kontext režimu iba na čítanie. V nižšie uvedenom príklade je hodnota návratu spätná k hash-u kontraktu, ktorý sa zobrazuje v pravom hornom rohu.

Put
Funkcia Put je zodpovedná za ukladanie dát do blockchainu vo forme slovníka. Ako je znázornené, Put prijíma tri parametre. GetContext berie kontext aktuálne vykonávaného smart kontraktu, key— je hodnota kľúča, ktorú je potrebné na uloženie dát, a value— je hodnota dát, ktoré je potrebné uložiť. Upozorňujeme, že ak sa hodnota kľúča už nachádza v úložisku, funkcia aktualizuje jej zodpovedajúcu hodnotu.

Get
Funkcia Get je zodpovedná za čítanie dát v aktuálnom blockchaine pomocou hodnoty kľúča. V nižšie uvedenom príklade môžete vyplniť hodnotu kľúča v paneli parametrov sprava, aby ste spustili funkciu a prečítali dáta zodpovedajúce hodnote kľúča v blockchaine.

Delete
Funkcia Delete je zodpovedná za odstraňovanie dát v blockchaine pomocou hodnoty kľúča. V nižšie uvedenom príklade môžete vyplniť hodnotu kľúča, aby ste spustili funkciu v paneli parametrov sprava a odstránili dáta, ktoré zodpovedajú hodnote kľúča v blockchaine.

2. Príklad kódu Storage API
Nižšie uvedený kód poskytuje podrobný príklad použitia piatich API: GetContext, Get, Put, Delete a GetReadOnlyContext. Môžete sa pokúsiť spustiť tieto API 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)Pósledok
Blockchain storage is the core of the entire blockchain system. The Ontology Storage API is easy to use and convenient for developers.
On the other hand, the storage is targeted by 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 related to storage. You can find the complete guide at our tu.
In the next article, we will discuss how to use Runtime API.
This article was translated by the Hashrate&Shares editorial team specially for OntologyRussia.
Ste vývojár? Pripojte sa k našej technickej komunite na . Okrem toho sa pozrite na Ontology, kde nájdete viac nástrojov, dokumentáciu a mnoho ďalšieho.
Zatvorte úlohu - získajte odmenu.
o talentovú program Ontology pre študentov
Ontology
— — — — —
Zdroj: habr.com
