
Dette er den andre delen av en serie opplæringsartikler om hvordan man lager smartkontrakter i Python på Ontology blockchain-nettverket. I den forrige artikkelen ble vi kjent med smartkontrakt på Ontology.
I dag skal vi diskutere hvordan vi bruker den andre modulen— Storage API. Storage API har fem relaterte API-er som tillater tillegg, sletting og endringer i permanent lagring i smartkontrakter på blockchain.
Nedenfor er en kort beskrivelse av disse fem API-ene:

La oss se nærmere på hvordan vi bruker disse fem API-ene.
0. La oss lage en ny kontrakt
1. Hvordan bruke Storage API
GetContext & GetReadOnlyContext
GetContext og GetReadOnlyContext henter konteksten der den nåværende smartkontrakten kjøres. Returverdien er den motsatte av den nåværende hash for smartkontrakten. Som navnet antyder, GetReadOnlyContext tar konteksten kun for lesetilstand. I eksemplet nedenfor er returverdien den motsatte hashen til kontrakten som vises øverst til høyre.

Put
kan Put er ansvarlig for lagring av data på blockchain i form av ordbok. Som vist, Put tar tre parametere. GetContext tar konteksten av den nåværende kjørende smartkontrakten, key— dette er nøkkelverdien som må til for å lagre data, og value— dette er verdien av dataene som må lagres. Vær oppmerksom på at hvis nøkkelverdien allerede finnes i lagringen, så vil funksjonen oppdatere dens tilknyttede verdi.

Get
kan Get er ansvarlig for å lese data på den nåværende blockchain ved hjelp av nøkkelverdien. I eksemplet nedenfor kan du fylle ut nøkkelverdien i parametervinduet til høyre for å utføre funksjonen og lese dataene knyttet til nøkkelverdien i blockchain.

Delete
kan Delete er ansvarlig for å slette data fra blockchain ved hjelp av nøkkelverdien. I eksemplet nedenfor kan du fylle ut nøkkelverdien for å utføre funksjonen i parametervinduet til høyre og slette dataene knyttet til nøkkelverdien i blockchain.

2. Eksempel på kode for Storage API
Koden nedenfor gir et detaljert eksempel på bruk av de fem API-ene: GetContext, Get, Put, Delete og GetReadOnlyContext. Du kan prøve å kjøre disse API-ene i .
fra ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
fra ontology.interop.System.Runtime import Notify
def Main(operation,args):
hvis operation == 'get_sc':
return get_sc()
hvis operation == 'get_read_only_sc':
return get_read_only_sc()
hvis operation == 'get_data':
key=args[0]
return get_data(key)
hvis operation == 'save_data':
key=args[0]
value=args[1]
return save_data(key, value)
hvis 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)Etterord
Blockchain-lagring er kjernen i hele blockchain-systemet. Ontology Storage API er enkelt å bruke og praktisk for utviklere.
På den annen side er lagringen fokusert for hackerangrep, som sikkerhetstrusler vi nevnte i en av de tidligere artiklene— , utviklere må være spesielt oppmerksomme på sikkerhet når de skriver kode som er relatert til lagring. Du kan finne en fullstendig veiledning på vår her.
I den neste artikkelen vil vi diskutere hvordan du bruker Runtime API.
Artikkelen er oversatt av Hashrate&Shares-redaksjonen spesielt for OntologyRussia.
Er du utvikler? Bli med i vårt tekniske fellesskap på . I tillegg, ta en titt på Ontology, hvor du kan finne flere verktøy, dokumentasjon og mye mer.
Lukk oppgaven – få belønning.
til Ontology-talentsprogrammet for studenter
Ontology
— — — — —
Kilde: habr.com
