
Ky është pjesa e dytë e një serie artikujsh edukativë mbi krijimin e kontratave të mençura në Python në rrjetin blockchain Ontology. Në artikullin e mëparshëm, u njohëm me kontraktës së mençur Ontology.
Sot do tĂ« diskutojmĂ« se si tĂ« pĂ«rdorim modulin e dytĂ«â Storage API. Storage API ka pesĂ« API tĂ« lidhura qĂ« lejojnĂ« shtimin, fshirjen dhe modifikimet nĂ« ruajtjen e qĂ«ndrueshme nĂ« kontratat e mençura nĂ« blockchain.
Më poshtë është një përshkrim i shkurtër i këtyre pesë API-ve:

Le të shqyrtojmë më në hollësi se si të përdorim këto pesë API.
0. Të krijojmë një kontratë të re
1. Si të përdorim Storage API
GetContext & GetReadOnlyContext
GetContext dhe GetReadOnlyContext nxisin kontekstin në të cilin ekzekutohet kontrata aktuale e mençur. Vlera e rikthimit është hesh i kundërt i kontratës së mençur aktuale. Siç e thotë emri, GetReadOnlyContext merr kontekstin në vetëm modin e leximit. Në shembullin më poshtë, vlera e rikthimit është hesh i kundërt i kontratës, e cila shfaqet në këndin e sipërm të djathtë.

Put
Funksioni Put Ă«shtĂ« pĂ«rgjegjĂ«se pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« blockchain nĂ« formĂ«n e njĂ« fjalori. Siç tregohet, Put merr tre parametra. GetContext merr kontekstin e kontratĂ«s smart aktuale, keyâ Ă«shtĂ« vlera e çelĂ«sit qĂ« nevojitet pĂ«r tĂ« ruajtur tĂ« dhĂ«nat, dhe valueâ Ă«shtĂ« vlera e tĂ« dhĂ«nave qĂ« duhen ruajtur. Kini parasysh, nĂ«se vlera e çelĂ«sit tashmĂ« ndodhet nĂ« ruajtje, funksioni do tĂ« pĂ«rditĂ«sojĂ« vlerĂ«n e tij pĂ«rkatĂ«se.

Merr
Funksioni Merr është përgjegjëse për leximin e të dhënave në blockchain-in aktual përmes vlerës së çelësit. Në shembullin më poshtë mund të plotësoni vlerën e çelësit në panelin e parametrave të djathtë, për të ekzekutuar funksionin dhe lexuar të dhënat përkatëse me vlerën e çelësit në blockchain.

Fshi
Funksioni Fshi është përgjegjëse për fshirjen e të dhënave në blockchain përmes vlerës së çelësit. Në shembullin më poshtë mund të plotësoni vlerën e çelësit për të ekzekutuar funksionin në panelin e parametrave të djathtë dhe të fshini të dhënat përkatëse me vlerën e çelësit në blockchain.

2. Shembulli i kodit të Storage API
Kodi më poshtë ofron një shembull të detajuar të përdorimit të pesë API-ve: GetContext, Get, Put, Delete dhe GetReadOnlyContext. Mund të provoni të ekzekutoni këto API. .
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ënie
Depoja e blockchain-it është thelbi i gjithë sistemit blockchain. API i Ontology Storage është i lehtë për t'u përdorur dhe i përshtatshëm për zhvilluesit.
Nga ana tjetĂ«r, depoja Ă«shtĂ« nĂ« fokusin e sulmeve tĂ« hakerĂ«ve, siç Ă«shtĂ« kĂ«rcĂ«nimi i sigurisĂ« qĂ« pĂ«rmendĂ«m nĂ« njĂ« nga artikujt e mĂ«parshĂ«mâ , zhvilluesit janĂ« tĂ« detyruar tĂ« kushtojnĂ« vĂ«mendje tĂ« veçantĂ« sigurisĂ« kur shkruajnĂ« kodin qĂ« ka tĂ« bĂ«jĂ« me depozan. Mund tĂ« gjeni njĂ« udhĂ«zues tĂ« plotĂ« nĂ« kĂ«tu.
Në artikullin tjetër do të diskutojmë se si të përdorim Runtime API.
Artikulli është përkthyer nga redaksia Hashrate&Shares ekskluzivisht për OntologyRussia.
Jeni zhvillues? Bashkohuni me komunitetin tonë teknik në . Për më tepër, shikoni në Ontology, aty mund të gjeni më shumë vegla, dokumentacion dhe shumë më tepër.
Mbylle det në mënyrë që të marrësh shpërblimin.
për programin e talenteve Ontology për studentët
Ontology
â â â â â
Burimi: habr.com
