Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

Ieu mangrupikeun bagian kadua dina séri tulisan atikan ngeunaan nyiptakeun kontrak pinter dina Python dina jaringan blockchain Ontology. Dina artikel saméméhna urang meunang acquainted jeung Blockchain & Blok API Ontology kontrak pinter.

Dinten ieu kami bakal ngabahas kumaha ngagunakeun modul kadua— Panyimpenan API. API Panyimpenan ngagaduhan lima API anu aya hubunganana anu ngamungkinkeun tambihan, ngahapus, sareng parobihan kana panyimpenan anu tetep dina kontrak pinter dina blockchain.

Di handap ieu pedaran ringkes lima API ieu:

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

Hayu urang tingali kumaha ngagunakeun lima API ieu.

0. Hayu urang nyieun kontrak anyar SmartX

1. Kumaha ngagunakeun Panyimpenan API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext kéngingkeun kontéks dimana kontrak pinter ayeuna dieksekusi. Nilai balik nyaéta kabalikan tina Hash kontrak pinter ayeuna. Sakumaha ngaranna nunjukkeun, GetReadOnlyContext nyokot konteks baca-hijina. Dina conto di handap, nilai balik teh sabalikna ti Hash kontrak dipintonkeun di pojok katuhu luhur.

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

neundeun

fungsi neundeun tanggung jawab pikeun nyimpen data dina blockchain dina bentuk kamus. Salaku ditémbongkeun, neundeun nyokot tilu parameter. GetContext nyokot konteks kontrak pinter ayeuna ngajalankeun, konci nyaeta nilai konci anu diperlukeun pikeun nyimpen data, sarta nilai mangrupa nilai data nu kudu disimpen. Catet yén upami nilai konci parantos aya di toko, fungsina bakal ngamutahirkeun nilai anu saluyu.

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

meunangkeun

fungsi meunangkeun tanggung jawab maca data dina blockchain ayeuna ngaliwatan nilai konci. Dina conto di handap ieu, anjeun tiasa ngeusian nilai konci dina panel pilihan di sisi katuhu pikeun ngaéksekusi fungsi sareng maca data anu cocog sareng nilai konci dina blockchain.

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

pupus

fungsi pupus tanggung jawab mupus data dina blockchain ngaliwatan nilai konci. Dina conto di handap ieu, anjeun tiasa ngeusian nilai konci pikeun fungsi dina panel pilihan di sisi katuhu sareng mupus data anu cocog sareng nilai konci dina blockchain.

Kumaha cara nyerat kontrak pinter dina Python dina jaringan Ontology. Bagian 2: Panyimpenan API

2. Panyimpenan kode API conto

Kodeu di handap masihan conto lengkep ngeunaan pamakean lima API: GetContext, Get, Put, Delete and GetReadOnlyContext. Anjeun tiasa nyobian ngajalankeun data API di 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)

afterword

Panyimpenan Blockchain mangrupikeun inti sadaya sistem blockchain. Ontology Storage API gampang dianggo sareng ramah pamekar.

Di sisi anu sanés, panyimpen mangrupikeun fokus serangan hacker, sapertos ancaman kaamanan anu kami sebutkeun dina salah sahiji tulisan sateuacana— serangan suntik gudangPamekar diwajibkeun pikeun nengetan khusus pikeun kaamanan nalika nyerat kode anu aya hubunganana sareng panyimpenan. Anjeun tiasa mendakan pituduh lengkep dina kami GitHub dieu.

Dina artikel salajengna urang bakal ngabahas cara ngagunakeunana Runtime API.

Tulisan ieu ditarjamahkeun ku éditor Hashrate&Shares khususna pikeun OntologyRussia. ceurik

Anjeun pamekar? Gabung komunitas tech kami di Discord. Ogé, nyandak katingal di Puseur pamekar Ontologi, anjeun tiasa mendakan langkung seueur alat, dokuméntasi sareng seueur deui di dinya.

Buka tugas pikeun pamekar. Ngalengkepan tugas jeung meunang ganjaran.

Ngalamar pikeun program bakat Ontologi pikeun siswa

Ontology

Situs web Ontologi - GitHub - Discord - Telegram Rusia - Twitter - reddit

sumber: www.habr.com

Tambahkeun komentar