
Detta Àr den andra delen av en serie utbildningsartiklar om att skapa smarta kontrakt pÄ Python inom Ontology-blockkedjan. I den föregÄende artikeln bekantade vi oss med smarta kontraktet Ontology.
Idag kommer vi att diskutera hur man anvĂ€nder den andra modulenâ Storage API. Storage API har fem relaterade API:er som gör det möjligt att lĂ€gga till, ta bort och Ă€ndra permanent lagring i smarta kontrakt pĂ„ blockkedjan.
Nedan följer en kort beskrivning av dessa fem API:er:

LÄt oss titta nÀrmare pÄ hur man anvÀnder dessa fem API:er.
0. Vi skapar ett nytt kontrakt
1. Hur man anvÀnder Storage API
GetContext & GetReadOnlyContext
GetContext och GetReadOnlyContext hÀmtar kontexten dÀr det aktuella smarta kontraktet körs. Return value Àr det omvÀnda hash-vÀrdet pÄ det aktuella smarta kontraktet. Som namnet antyder, GetReadOnlyContext hÀmtar kontexten i lÀslÀge. I det nedan givna exemplet Àr return value det omvÀnda hash-vÀrdet av kontraktet som visas i det övre högra hörnet.

Put
Funktionen Put ansvarar för lagring av data pĂ„ blockkedjan i form av en ordbok. Som visat, Put accepterar tre parametrar. GetContext hĂ€mtar kontexten för det aktuella körande smarta kontraktet, keyâ detta Ă€r nyckelvĂ€rdet som behövs för att lagra data, och valueâ detta Ă€r vĂ€rdet av de data som ska lagras. Observera att om nyckelvĂ€rdet redan finns i lagringen, kommer funktionen att uppdatera dess motsvarande vĂ€rde.

Get
Funktionen Get ansvarar för att lÀsa data frÄn den aktuella blockkedjan genom nyckelvÀrdet. I det nedan givna exemplet kan du ange nyckelvÀrdet i parameterpanelen till höger för att köra funktionen och lÀsa data som motsvarar nyckelvÀrdet i blockkedjan.

Databas trÀd
Funktionen Databas trÀd ansvarar för att ta bort data frÄn blockkedjan genom nyckelvÀrdet. I det nedan givna exemplet kan du ange nyckelvÀrdet för att köra funktionen i parameterpanelen till höger och ta bort data som motsvarar nyckelvÀrdet i blockkedjan.

2. Exempel pÄ kod för Storage API
Koden nedan ger ett detaljerat exempel pÄ anvÀndningen av de fem API:erna: GetContext, Get, Put, Delete och GetReadOnlyContext. Du kan försöka köra dessa 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)Epilog
Blockchain-lagringen Àr kÀrnan i hela blockchain-systemet. Ontology Storage API Àr enkelt att anvÀnda och bekvÀmt för utvecklare.
Ă andra sidan Ă€r lagringen ett fokus för hackerattacker, till exempel sĂ€kerhetshotet som vi nĂ€mnde i en av vĂ„ra tidigare artiklarâ , mĂ„ste utvecklare vara sĂ€rskilt uppmĂ€rksamma pĂ„ sĂ€kerhet nĂ€r de skriver kod relaterad till lagring. Du kan hitta en fullstĂ€ndig guide i vĂ„r hĂ€r.
I nÀsta artikel kommer vi att diskutera hur man anvÀnder Runtime API.
Artikeln översattes av Hashrate&Shares speciellt för OntologyRussia.
Ăr du utvecklare? GĂ„ med i vĂ„rt tekniska samhĂ€lle pĂ„ . Dessutom, kolla in Ontology, dĂ€r du kan hitta fler verktyg, dokumentation och mycket mer.
StĂ€ng uppgiften â fĂ„ en belöning.
till Ontologys talangprogram för studenter
Ontology
â â â â â
KĂ€lla: habr.com
