ProHoster > Blog > administratë > Si të shkruani një kontratë inteligjente në Python në rrjetin Ontology. Pjesa 2: Storage API
Si të shkruani një kontratë inteligjente në Python në rrjetin Ontology. Pjesa 2: Storage API
Kjo është pjesa e dytë e një serie artikujsh edukative mbi krijimin e kontratave inteligjente në Python në rrjetin e blockchain Ontology. Në artikullin e mëparshëm u njohëm me Blockchain & Block API Kontrata inteligjente ontologjike.
Sot do të diskutojmë se si të përdorim modulin e dytë— API ruajtëse. Storage API ka pesë API të lidhura që lejojnë shtimin, fshirjen dhe ndryshimet në ruajtjen e vazhdueshme në kontratat inteligjente në blockchain.
Më poshtë është një përshkrim i shkurtër i këtyre pesë API-ve:
Le të hedhim një vështrim më të afërt se si t'i përdorim këto pesë API.
GetContext и GetReadOnlyContext merrni kontekstin në të cilin ekzekutohet kontrata aktuale e zgjuar. Vlera e kthimit është e kundërta e hash-it aktual të kontratës inteligjente. Siç sugjeron emri, GetReadOnlyContext merr kontekstin vetëm për lexim. Në shembullin e mëposhtëm, vlera e kthimit është e kundërta e hash-it të kontratës që shfaqet në këndin e sipërm djathtas.
Vë
Funksion Vë është përgjegjës për ruajtjen e të dhënave në blockchain në formën e një fjalori. Siç tregohet, Vë merr tre parametra. GetContext merr kontekstin e kontratës inteligjente që funksionon aktualisht, çelësi është vlera e çelësit që nevojitet për të ruajtur të dhënat dhe vlera është vlera e të dhënave që duhet të ruhen. Vini re se nëse vlera e çelësit është tashmë në dyqan, funksioni do të përditësojë vlerën e tij përkatëse.
Funksion Marr është përgjegjës për leximin e të dhënave në blockchain aktual përmes vlerës së çelësit. Në shembullin e mëposhtëm, mund të plotësoni vlerën e çelësit në panelin e opsioneve në të djathtë për të ekzekutuar funksionin dhe të lexoni të dhënat që korrespondojnë me vlerën e çelësit në blockchain.
Fshij
Funksion Fshij është përgjegjës për fshirjen e të dhënave në blockchain përmes vlerës së çelësit. Në shembullin e mëposhtëm, mund të plotësoni vlerën kryesore për funksionin në panelin e opsioneve në të djathtë dhe të fshini të dhënat që korrespondojnë me vlerën kryesore në blockchain.
2. Shembull i kodit API të ruajtjes
Kodi më poshtë jep një shembull të detajuar të përdorimit të pesë API-ve: GetContext, Get, Put, Delete dhe GetReadOnlyContext. Mund të provoni të ekzekutoni të dhënat API në 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)
pasthënje
Ruajtja e Blockchain është thelbi i të gjithë sistemit blockchain. Ontology Storage API është i lehtë për t'u përdorur dhe i përshtatshëm për zhvilluesit.
Nga ana tjetër, ruajtja është fokusi i sulmeve të hakerëve, siç është kërcënimi i sigurisë që përmendëm në një nga artikujt e mëparshëm - sulmi i injektimit të ruajtjesZhvilluesve u kërkohet t'i kushtojnë vëmendje të veçantë sigurisë kur shkruajnë kodin që lidhet me ruajtjen. Udhëzuesin e plotë mund ta gjeni tek ne GitHub këtu.
Në artikullin vijues do të diskutojmë se si ta përdorim Runtime API.
Artikulli u përkthye nga redaktorët e Hashrate&Shares posaçërisht për OntologyRussia. qaj
A jeni një zhvillues? Bashkohuni me komunitetin tonë të teknologjisë në Mosmarrëveshje. Gjithashtu, hidhini një sy Qendra e Zhvilluesve Ontologjia, aty mund të gjeni më shumë mjete, dokumentacion dhe shumë më tepër.