Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

Hau Ontology blockchain sarean Python-en kontratu adimendunak sortzeari buruzko hezkuntza-artikulu batzuen bigarren zatia da. Aurreko artikuluan ezagutu genuen Blockchain eta Block APIa Ontologia kontratu adimenduna.

Gaur bigarren modulua nola erabili aztertuko dugu. Biltegiratze APIa. Biltegiratze APIak erlazionatutako bost API ditu, bloke-katearen kontratu adimendunetan biltegiratze iraunkorra gehitzea, ezabatzea eta aldatzea ahalbidetzen dutenak.

Jarraian, bost API hauen deskribapen laburra dago:

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

Ikus dezagun hurbilagotik bost API hauek nola erabili.

0. Sor dezagun kontratu berri bat SmartX

1. Nola erabili Storage APIa

GetContext eta GetReadOnlyContext

LortuContext ΠΈ GetReadOnlyContext lortu egungo kontratu adimenduna exekutatzen den testuingurua. Itzultzeko balioa uneko smart contract hash-aren alderantzizkoa da. Izenak dioen bezala, GetReadOnlyContext irakurtzeko soilik den testuingurua hartzen du. Beheko adibidean, itzuleraren balioa goiko eskuineko izkinan bistaratzen den kontratuaren hash-aren alderantzizkoa da.

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

Jarri

Funtzioa Jarri blockchain-en datuak hiztegi moduan gordetzeaz arduratzen da. Erakutsi bezala, Jarri hiru parametro hartzen ditu. LortuContext Gaur egun martxan dagoen kontratu adimendunaren testuingurua hartzen du, gakoa datuak gordetzeko behar den gakoaren balioa da eta balioa gorde behar diren datuen balioa da. Kontuan izan gakoaren balioa dagoeneko dendan badago, funtzioak dagokion balioa eguneratuko duela.

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIahashrate-and-shares.ru/images/obzorontology/python/functionput.png

Talde

Funtzioa Talde uneko bloke-katearen datuak gako-balioaren bidez irakurtzeaz arduratzen da. Beheko adibidean, eskuineko aukeren panelean gako-balioa bete dezakezu funtzioa exekutatzeko eta bloke-katearen gako-balioari dagozkion datuak irakur ditzakezu.

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

Ezabatu

Funtzioa Ezabatu gako-balioaren bidez blokeko datuak ezabatzeaz arduratzen da. Beheko adibidean, eskuineko aukeren panelean funtzioaren gako-balioa bete dezakezu eta bloke-katean gako-balioari dagozkion datuak ezabatu.

Nola idatzi kontratu adimendun bat Python-en Ontology sarean. 2. zatia: Biltegiratze APIa

2. Biltegiratze API kodearen adibidea

Beheko kodeak bost APIren erabileraren adibide zehatza ematen du: GetContext, Get, Put, Delete eta GetReadOnlyContext. Saia zaitezke APIaren datuak exekutatzen 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

Blockchain biltegiratzea blockchain sistema osoaren muina da. Ontology Storage APIa erabiltzeko erraza eta garatzaileentzako egokia da.

Bestalde, biltegiratzea da hackerren erasoen ardatza, aurreko artikuluetako batean aipatu dugun segurtasun mehatxua adibidezβ€” biltegiratze injekzio erasoaGaratzaileek segurtasunari arreta berezia jarri behar diote biltegiratzearekin lotutako kodea idaztean. Gida osoa gure webgunean aurki dezakezu GitHub hemen.

Hurrengo artikuluan nola erabili eztabaidatuko dugu Runtime APIa.

Artikulua Hashrate&Shares-eko editoreek itzuli dute bereziki OntologyRussiarako. negar egin

Garatzailea al zara? Sartu gure komunitate teknologikoa hemen discord. Gainera, begiratu Garatzaile Zentroa Ontologia, tresna, dokumentazio eta askoz gehiago aurki ditzakezu bertan.

Garatzaileentzako ataza irekiak. Osatu zeregina eta lortu sari bat.

Aplikatu Ikasleentzako Ontologia talentu programarako

Ontologia

Ontologiaren webgunea - GitHub - discord - Telegram ingelesa - Twitter - Reddit

Iturria: www.habr.com

Gehitu iruzkin berria