Kaip parašyti išmaniąją sutartį Python ontologijos tinkle. 2 dalis: saugyklos API
Tai antroji edukacinių straipsnių serijos dalis apie išmaniųjų sutarčių kūrimą „Python“ tinkle „Ontology blockchain“. Ankstesniame straipsnyje mes susipažinome su Blockchain ir Block API Ontologijos išmanioji sutartis.
Šiandien aptarsime, kaip naudoti antrąjį modulį – Saugyklos API. „Storage“ API turi penkias susijusias API, kurios leidžia pridėti, ištrinti ir keisti nuolatinę saugyklą išmaniosiose sutartyse blokų grandinėje.
Toliau pateikiamas trumpas šių penkių API aprašymas.
Pažvelkime atidžiau, kaip naudoti šias penkias API.
GetContext и GetReadOnlyContext gauti kontekstą, kuriame vykdoma dabartinė išmanioji sutartis. Grąžinimo vertė yra atvirkštinė dabartinės išmaniosios sutarties maišos vertė. Kaip rodo pavadinimas, GetReadOnlyContext paima tik skaitymo kontekstą. Toliau pateiktame pavyzdyje grąžinama vertė yra atvirkštinė sutarties maišos vertė, rodoma viršutiniame dešiniajame kampe.
Sudėti
Funkcija Sudėti yra atsakinga už duomenų saugojimą blokų grandinėje žodyno pavidalu. Taip, kaip parodyta, Sudėti užima tris parametrus. GetContext paima šiuo metu vykdomos išmaniosios sutarties kontekstą, raktas yra rakto, kurio reikia duomenims išsaugoti, reikšmė, o vertė yra duomenų, kuriuos reikia išsaugoti, reikšmė. Atminkite, kad jei rakto reikšmė jau yra parduotuvėje, funkcija atnaujins atitinkamą reikšmę.
Funkcija gauti yra atsakingas už duomenų skaitymą dabartinėje blokų grandinėje per rakto reikšmę. Toliau pateiktame pavyzdyje dešinėje esančiame parinkčių skydelyje galite įrašyti rakto reikšmę, kad vykdytumėte funkciją ir nuskaitytumėte duomenis, atitinkančius rakto reikšmę blokų grandinėje.
panaikinti
Funkcija panaikinti yra atsakinga už duomenų ištrynimą blokų grandinėje per rakto reikšmę. Toliau pateiktame pavyzdyje dešinėje esančiame parinkčių skydelyje galite įrašyti funkcijos rakto reikšmę ir ištrinti rakto reikšmę blokų grandinėje atitinkančius duomenis.
2. Saugyklos API kodo pavyzdys
Toliau pateiktame kode pateikiamas išsamus penkių API naudojimo pavyzdys: GetContext, Get, Put, Delete ir GetReadOnlyContext. Galite pabandyti paleisti API duomenis „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)
Afterword
„Blockchain“ saugykla yra visos „blockchain“ sistemos pagrindas. Ontologijos saugyklos API paprasta naudoti ir patogi kūrėjams.
Kita vertus, saugykla yra įsilaužėlių atakų, tokių kaip saugumo grėsmė, kurią minėjome viename iš ankstesnių straipsnių, dėmesio centre. saugojimo injekcijos atakaRašydami kodą, susijusį su saugykla, kūrėjai turi atkreipti ypatingą dėmesį į saugumą. Visą vadovą galite rasti mūsų svetainėje GitHub čia.
Kitame straipsnyje aptarsime, kaip naudoti Vykdymo laiko API.
Straipsnį Hashrate&Shares redaktoriai išvertė specialiai OntologyRussia. spustelėkite
Ar esate kūrėjas? Prisijunkite prie mūsų technologijų bendruomenės adresu Nesantaika. Be to, pažiūrėkite Kūrėjų centras Ontologija, ten galite rasti daugiau įrankių, dokumentacijos ir daug daugiau.