ProHoster > Blog > administration > Sådan skriver du en smart kontrakt i Python på Ontology-netværket. Del 2: Storage API
Sådan skriver du en smart kontrakt i Python på Ontology-netværket. Del 2: Storage API
Dette er anden del i en række pædagogiske artikler om at skabe smarte kontrakter i Python på Ontology blockchain-netværket. I den forrige artikel stiftede vi bekendtskab med Blockchain & Block API Ontologi smart kontrakt.
I dag vil vi diskutere, hvordan man bruger det andet modul— Storage API. Storage API'en har fem relaterede API'er, der tillader tilføjelse, sletning og ændringer af vedvarende lagring i smarte kontrakter på blockchain.
Nedenfor er en kort beskrivelse af disse fem API'er:
Lad os se nærmere på, hvordan man bruger disse fem API'er.
GetContext и GetReadOnlyContext få den kontekst, som den aktuelle smarte kontrakt udføres i. Returværdi er det omvendte af den aktuelle smart kontrakt-hash. Som navnet antyder, GetReadOnlyContext tager skrivebeskyttet kontekst. I eksemplet nedenfor er returværdien den omvendte af kontrakthashen, der vises i øverste højre hjørne.
Sætte
Funktion Sætte er ansvarlig for at opbevare data på blockchain i form af en ordbog. Som vist, Sætte tager tre parametre. GetContext tager konteksten af den aktuelt kørende smarte kontrakt, nøgle er værdien af nøglen, der er nødvendig for at gemme dataene, og værdi er værdien af de data, der skal gemmes. Bemærk, at hvis nøglens værdi allerede er i butikken, vil funktionen opdatere dens tilsvarende værdi.
Funktion Få er ansvarlig for at læse dataene i den aktuelle blockchain gennem nøgleværdien. I eksemplet nedenfor kan du udfylde nøgleværdien i indstillingspanelet til højre for at udføre funktionen og læse de data, der svarer til nøgleværdien i blockchain.
Slette
Funktion Slette er ansvarlig for at slette data i blockchain gennem nøgleværdien. I eksemplet nedenfor kan du udfylde nøgleværdien for funktionen i indstillingspanelet til højre og slette de data, der svarer til nøgleværdien i blockchain.
2. Storage API kode eksempel
Koden nedenfor giver et detaljeret eksempel på brugen af fem API'er: GetContext, Get, Put, Delete og GetReadOnlyContext. Du kan prøve at køre API-dataene ind SmartX.
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)
efterskrift
Blockchain-lagring er kernen i hele blockchain-systemet. Ontology Storage API er nem at bruge og udviklervenlig.
På den anden side er lagring i fokus for hackerangreb, såsom den sikkerhedstrussel, vi nævnte i en af de tidligere artikler— lagerinjektionsangrebUdviklere skal være særligt opmærksomme på sikkerheden, når de skriver kode, der vedrører lagring. Du kan finde den komplette guide på vores GitHub her.
I den næste artikel vil vi diskutere, hvordan du bruger Runtime API.
Artiklen er oversat af redaktørerne af Hashrate&Shares specielt til OntologyRussia. skrig
Er du udvikler? Tilmeld dig vores tech-fællesskab på Discord. Tag også et kig på Udviklercenter Ontologi for flere værktøjer, dokumentation og mere.