
Šis ir otrais raksts no mācību rakstu sērijas par viedkontraktu izveidošanu Python valodā Ontology blokķēdes tīklā. Iepriekšējā rakstā mēs iepazināmies ar viedkontraktu Ontology.
Šodien mēs apspriedīsim, kā izmantot otro moduli— Krātuves API. Storage API ietver piecus saistītus API, kas ļauj pievienot, dzēst un mainīt datus pastāvīgajā krātuvē viedkontraktos blokķēdē.
Zemāk ir īss šo piecu API apraksts:

Paskatīsimies sīkāk, kā izmantot šos piecus API.
0. Izveidosim jaunu kontraktu
1. Kā izmantot Storage API
GetContext & GetReadOnlyContext
GetContext un GetReadOnlyContext iegūst kontekstu, kurā tiek izpildīts pašreizējais viedkontrakts. Atgrieztā vērtība ir pretēja pašreizējam viedkontrakta hash. Kā norādīts nosaukumā, GetReadOnlyContext iegūst tikai lasāmo režīmu. Apakšējā piemērā atgrieztā vērtība ir pretējs kontrakta hash, kas parādīts augšējā labajā stūrī.

Put
Funkcija Put ir atbildīgs par datu glabāšanu blokķēdē vārdnīcas formā. Kā redzams, Put tas pieņem trīs parametrus. GetContext ņem kontekstu no pašreizējā izpildāmā viedkontrakta, key— tas ir atslēgas vērtība, ko nepieciešams glabāt, un value— tas ir datu vērtība, ko nepieciešams glabāt. Lūdzu, ņemiet vērā, ja atslēgas vērtība jau atrodas krātuvē, funkcija atjauninās tās atbilstošo vērtību.

Get
Funkcija Get ir atbildīgs par datu lasīšanu pašreizējā blokķēdē, izmantojot atslēgas vērtību. Apakšējā piemērā jūs varat aizpildīt atslēgas vērtību labajā pusē esošajā parametru panelī, lai veiktu funkciju un nolasītu datus, kas atbilst atslēgas vērtībai blokķēdē.

Dzēst
Funkcija Dzēst ir atbildīgs par datu dzēšanu blokķēdē, izmantojot atslēgas vērtību. Apakšējā piemērā jūs varat aizpildīt atslēgas vērtību, lai veiktu funkciju labajā pusē esošajā parametru panelī un dzēstu datus, kas atbilst atslēgas vērtībai blokķēdē.

2. Storage API koda piemērs
Apakšējais kods sniedz detalizētu piemēru piecu API izmantošanai: GetContext, Get, Put, Delete un GetReadOnlyContext. Jūs varat izmēģināt šos API. .
no ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
no 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ēcvārds
Blokķēdes glabātuve ir visu blokķēdes sistēmu centrs. Ontology Storage API ir vienkārši lietojams un ērts izstrādātājiem.
No otras puses, uz glabātuves ir koncentrētas hakeru uzbrukumi, piemēram, drošības apdraudējums, par kuru mēs pieminējām vienā no iepriekšējām rakstiem— , izstrādātājiem jāpiešķir īpaša uzmanība drošībai, rakstot kodu, kas saistīts ar glabātuvi. Jūs varat atrast pilnu rokasgrāmatu mūsu šeit.
Nākamajā rakstā mēs apspriedīsim, kā izmantot Izpildes API.
Raksts ir pārtulkots Hashrate&Shares redakcijas speciāli OntologyRussia.
Vai jūs esat izstrādātājs? Pievienojieties mūsu tehniskajai kopienai . Turklāt ieskatieties Ontology, kur var atrast vairāk rīku, dokumentāciju un daudz ko citu.
Aizver uzdevumu — saņem atlīdzību.
uz Ontology talantu programmu studentiem
Ontology
— — — — —
Avots: habr.com
