Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

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 Blockchain & Block API 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:

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

La oss se nærmere på hvordan vi bruker disse fem API-ene.

0. La oss lage en ny kontrakt SmartX

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.

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

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.

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

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.

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

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.

Hvordan skrive en smartkontrakt i Python på Ontology-nettverket. Del 2: Storage API

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 SmartX.

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— lagringsinjeksjonsangrep, 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 GitHub her.

I den neste artikkelen vil vi diskutere hvordan du bruker Runtime API.

Artikkelen er oversatt av Hashrate&Shares-redaksjonen spesielt for OntologyRussia. klikk

Er du utvikler? Bli med i vårt tekniske fellesskap på Discord. I tillegg, ta en titt på Utviklersenteret Ontology, hvor du kan finne flere verktøy, dokumentasjon og mye mer.

Åpne oppgaver for utviklere. Lukk oppgaven – få belønning.

Send inn søknad til Ontology-talentsprogrammet for studenter

Ontology

Ontology-nettstedet — GitHub — Discord — Telegram Russian — Twitter — Reddit

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster