Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

Ky është artikulli i dytë nga seria e artikujve ndihmës mbi krijimin e kontratave inteligjente në Python në rrjetin blockchain Ontology. Në artikullin e mëparshëm u njohëm me Blockchain & Block API kontratën inteligjente Ontology.

Sot do tĂ« diskutojmĂ« se si tĂ« pĂ«rdorim modulin e dytë— Storage API. Storage API ka pesĂ« API tĂ« lidhura qĂ« mundĂ«sojnĂ« shtimin, fshirjen dhe ndryshimin nĂ« njĂ« ruajtje tĂ« pĂ«rhershme nĂ« kontratat intelligente nĂ« blockchain.

Më poshtë është një përshkrim i shkurtër i këtyre pesë API-ve:

Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

Le të shohim më në detaje se si të përdorim këto pesë API.

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

1. Si të përdorni Storage API

GetContext & GetReadOnlyContext

GetContext dhe GetReadOnlyContext sigurojnë kontekstin në të cilin ekzekutohet kontrata inteligjente aktuale. Vlera e kthyer është e kundërt me hash-in aktual të kontratës inteligjente. Siç sugjeron emri, GetReadOnlyContext merr kontekstin e vetëm për lexim. Në shembullin në vijim, vlera e kthyer është e kundërt me hash-in e kontratës, e cila shfaqet në këndin e sipërm të djathtë.

Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

Put

Funksioni Put Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« blockchain nĂ« formĂ«n e njĂ« fjalori. Siç tregohet, Put merr tre parametrat. GetContext merr kontekstin e kontratĂ«s inteligjente aktuale, key— Ă«shtĂ« vlera e çelĂ«sit qĂ« duhet tĂ« ruhet, dhe value— Ă«shtĂ« vlera e tĂ« dhĂ«nave qĂ« duhet tĂ« ruhet. Vini re, nĂ«se vlera e çelĂ«sit tashmĂ« ndodhet nĂ« ruajtje, atĂ«herĂ« funksioni do tĂ« pĂ«rditĂ«sojĂ« vlerĂ«n pĂ«rkatĂ«se.

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

Get

Funksioni Get është përgjegjës për të lexuar të dhënat në blockchain aktuale përmes vlerës së çelësit. Në shembullin në vijim mund të plotësoni vlerën e çelësit në panelin e parametrave të djathtë për të ekzekutuar funksionin dhe për të lexuar të dhënat që korrespondojnë me vlerën e çelësit në blockchain.

Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

Delete

Funksioni Delete është përgjegjës për fshirjen e të dhënave në blockchain përmes vlerës së çelësit. Në shembullin në vijim 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 që korrespondojnë me vlerën e çelësit në blockchain.

Si të shkruani një kontratë të zgjuar në Python në rrjetin Ontology. Pjesa 2: Storage API

2. Shembulli i kodit për Storage API

Kodi në vijim ofron një shembull të detajuar mbi përdorimin e 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

Blockchain storage is the core of the entire blockchain system. The Ontology Storage API is easy to use and convenient for developers.

On the other hand, storage is the focus of hacker attacks, such as the security threat we mentioned in one of the previous articles— storage injection attack, developers must pay special attention to security when writing code related to storage. You can find the complete guide on our GitHub kĂ«tu.

In the next article, we will discuss how to use Runtime API.

The article was translated by the Hashrate & Shares editorial team specifically for OntologyRussia. klik

Are you a developer? Join our technical community on Discord. Additionally, check out the Developer Center Ontology, where you can find more tools, documentation, and much more.

Open tasks for developers. Close the task — receive a reward.

Apply for the Ontology talent program for students.

Ontology

Ontology website — GitHub — Discord — Telegram Russian — Twitter — Reddit

Burimi: habr.com

Bleni hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera đŸ”„ Bli hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera | ProHoster