Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

Kini ang ikaduha nga bahin sa usa ka serye sa mga artikulo sa edukasyon sa paghimo og mga smart nga kontrata sa Python sa Ontology blockchain network. Sa miaging artikulo atong nasinati Blockchain ug Block API Ontology smart nga kontrata.

Karon atong hisgutan kon unsaon paggamit ang ikaduhang moduleβ€” API sa pagtipig. Ang Storage API adunay lima ka may kalabutan nga mga API nga nagtugot sa pagdugang, pagtangtang, ug mga pagbag-o sa padayon nga pagtipig sa mga smart nga kontrata sa blockchain.

Sa ubos usa ka mubo nga paghulagway niining lima ka mga API:

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

Atong tan-awon pag-ayo kon unsaon paggamit niining lima ka mga API.

0. Magbuhat ta ug bag-ong kontrata SmartX

1. Giunsa paggamit ang Storage API

GetContext & GetReadOnlyContext

GetContext ΠΈ GetReadOnlyContext kuhaa ang konteksto diin ang kasamtangang smart nga kontrata gipatuman. Ang bili sa pagbalik mao ang kabaliktaran sa kasamtangan nga smart contract hash. Sama sa gisugyot sa ngalan, GetReadOnlyContext nagkinahanglan sa read-only nga konteksto. Sa pananglitan sa ubos, ang kantidad sa pagbalik mao ang kabaliktaran sa hash sa kontrata nga gipakita sa taas nga tuo nga suok.

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

Ibutang

function Ibutang ang responsable sa pagtipig sa datos sa blockchain sa porma sa usa ka diksyonaryo. Ingon sa gipakita, Ibutang nagkinahanglan og tulo ka mga parameter. GetContext Nagkuha sa konteksto sa kasamtangan nga nagdagan nga smart nga kontrata, ang yawe mao ang bili sa yawe nga gikinahanglan aron maluwas ang datos, ug ang bili mao ang bili sa datos nga kinahanglang tipigan. Timan-i nga kung ang kantidad sa yawe naa na sa tindahan, ang function mag-update sa katumbas nga kantidad niini.

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

function Get responsable sa pagbasa sa datos sa kasamtangan nga blockchain pinaagi sa yawe nga kantidad. Sa pananglitan sa ubos, mahimo nimong pun-on ang yawe nga kantidad sa panel sa mga kapilian sa tuo aron ipatuman ang function ug basahon ang datos nga katumbas sa yawe nga kantidad sa blockchain.

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

Tangtanga

function Tangtanga ang responsable sa pagtangtang sa datos sa blockchain pinaagi sa yawe nga kantidad. Sa pananglitan sa ubos, mahimo nimong pun-on ang yawe nga kantidad alang sa function sa panel sa mga kapilian sa tuo ug tangtangon ang datos nga katumbas sa yawe nga kantidad sa blockchain.

Giunsa pagsulat ang usa ka intelihente nga kontrata sa Python sa network sa Ontology. Bahin 2: Pagtipig API

2. Pagtipig API code pananglitan

Ang code sa ubos naghatag ug detalyadong pananglitan sa paggamit sa lima ka mga API: GetContext, Get, Put, Delete ug GetReadOnlyContext. Mahimo nimong sulayan ang pagpadagan sa datos sa 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)

Pagkahuman

Ang pagtipig sa blockchain mao ang kinauyokan sa tibuuk nga sistema sa blockchain. Ang Ontology Storage API dali gamiton ug mahigalaon sa developer.

Sa laing bahin, ang pagtipig mao ang pokus sa mga pag-atake sa hacker, sama sa hulga sa seguridad nga among gihisgutan sa usa sa miaging mga artikuloβ€” pag-atake sa indeyksiyon sa pagtipigAng mga developers gikinahanglan nga mohatag og espesyal nga pagtagad sa seguridad sa pagsulat sa code nga may kalabutan sa storage. Makita nimo ang kompleto nga giya sa among GitHub dinhi.

Sa sunod nga artikulo atong hisgotan kon unsaon paggamit Runtime API.

Ang artikulo gihubad sa mga editor sa Hashrate&Shares labi na alang sa OntologyRussia. naghilak

Ikaw ba usa ka developer? Apil sa among tech nga komunidad sa Pagsabut. Usab, tan-awa ang Developer Center Ontology, makit-an nimo ang daghang mga himan, dokumentasyon ug daghan pa didto.

Bukas nga mga buluhaton alang sa mga developer. Kompletoha ang buluhaton ug makakuha usa ka ganti.

Apply karon alang sa Ontology talent program alang sa mga estudyante

Ontology

Ontology nga website - GitHub - Pagsabut - Telegram nga Ruso - Twitter - Reddit

Source: www.habr.com

Idugang sa usa ka comment