
Dette er den anden del af en serie af vejledende artikler om oprettelse af smarte kontrakter i Python på Ontology blockchain-netværket. I den tidligere artikel kiggede vi på smarte kontrakter i Ontology.
I dag vil vi diskutere, hvordan man bruger den anden modul— Storage API. Storage API har fem relaterede API'er, der muliggør tilføjelse, sletning og ændringer i vedvarende lagring i smarte kontrakter på blockchain.
Nedenfor er en kort beskrivelse af de fem API'er:

Lad os se nærmere på, hvordan vi kan bruge disse fem API'er.
0. Lad os oprette en ny kontrakt
1. Sådan bruges Storage API
GetContext & GetReadOnlyContext
GetContext og GetReadOnlyContext returnerer konteksten, hvori den aktuelle smarte kontrakt udføres. Returneringsværdien er omvendt hash af den aktuelle smarte kontrakt. Som navnet antyder, GetReadOnlyContext henter konteksten i læseonly-tilstand. I den følgende eksempel er returneringsværdien omvendt hash af den kontrakt, der vises i øverste højre hjørne.

Put
Funktion Put er ansvarlig for at gemme data på blockchain i form af et ordbog. Som vist, Put modtager tre parametre. GetContext hæver konteksten for den aktuelt udførende smarte kontrakt, key—er værdien af nøglen, der skal gemme data, og value—er værdien af de data, der skal gemmes. Vær opmærksom på, at hvis nøgleværdien allerede findes i lageret, vil funktionen opdatere dens tilsvarende værdi.

Get
Funktion Get er ansvarlig for at læse data i den aktuelle blockchain gennem nøgleværdien. I den følgende eksempel kan du udfylde nøgleværdien i panelet til højre for at udføre funktionen og læse de data, der svarer til nøgleværdien i blockchain.

Slet
Funktion Slet er ansvarlig for at slette data i blockchain gennem nøgleværdien. I den følgende eksempel kan du udfylde nøgleværdien for at udføre funktionen i panelet til højre og slette de data, der svarer til nøgleværdien i blockchain.

2. Eksempel på kode til Storage API
Den følgende kode giver et detaljeret eksempel på brugen af de fem API'er: GetContext, Get, Put, Delete og GetReadOnlyContext. Du kan prøve at køre disse API'er i .
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)Efterord
Blockchain-lagring er kernen i hele blockchain-systemet. Ontology Storage API er enkelt at anvende og praktisk for udviklere.
På den anden side er lagring et fokus for hackerangreb, for eksempel den sikkerhedstrussel, vi nævnte i en af de tidligere artikler— , udviklere skal være særlig opmærksomme på sikkerheden, når de skriver kode, der er relateret til lagring. Du kan finde en fuld vejledning på vores her.
I den næste artikel vil vi diskutere, hvordan man bruger Runtime API.
Artiklen er blevet oversat af redaktionen Hashrate&Shares specielt for OntologyRussia.
Er du udvikler? Tilmeld dig vores tekniske fællesskab på . Tjek også Ontology, hvor du kan finde flere værktøjer, dokumentation og meget mere.
Luk opgaven — få belønning.
til Ontology talentprogram for studerende
Ontology
— — — — —
Kilde: habr.com
