Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

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 Blockchain & Block API 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:

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

Le të shqyrtojmë më në hollësi se si të përdorim këto pesë API.

0. Të krijojmë një kontratë të re SmartX

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ë.

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

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.

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

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.

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

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.

Si të shkruash një smart contract në Python në rrjetin Ontology. Pjesa 2: Storage API

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. 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ë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— sulmi i injektimit nĂ« depo, 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Ă« GitHub 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. klik

Jeni zhvillues? Bashkohuni me komunitetin tonë teknik në Discord. Për më tepër, shikoni në Qendrën e zhvilluesve Ontology, aty mund të gjeni më shumë vegla, dokumentacion dhe shumë më tepër.

Detyrat e hapura për zhvilluesit. Mbylle det në mënyrë që të marrësh shpërblimin.

Apliko për programin e talenteve Ontology për studentët

Ontology

Website-i i Ontology — GitHub — Discord — Telegram Rus — Twitter — Reddit

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster