Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

Ĉi tiu estas la dua parto de serio de edukaj artikoloj pri kreado de inteligentaj kontraktoj en Python sur la Ontology blockchain-reto. En la antaŭa artikolo ni konatiĝis Blockchain & Block API Ontologio inteligenta kontrakto.

Hodiaŭ ni diskutos kiel uzi la duan modulon— Stokado API. La Stokado-API havas kvin rilatajn API-ojn, kiuj permesas aldonon, forigon kaj ŝanĝojn al konstanta stokado en inteligentaj kontraktoj sur la blokĉeno.

Malsupre estas mallonga priskribo de ĉi tiuj kvin APIoj:

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

Ni rigardu pli detale kiel uzi ĉi tiujn kvin APIojn.

0. Ni kreu novan kontrakton SmartX

1. Kiel uzi la Stokan API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext akiri la kuntekston en kiu la nuna inteligenta kontrakto estas efektivigita. Revenvaloro estas la inverso de la nuna saĝa kontrakto hash. Kiel la nomo sugestas, GetReadOnlyContext prenas la nurlegeblan kuntekston. En la malsupra ekzemplo, la revena valoro estas la inversa de la kontrakto hash montrita en la supra dekstra angulo.

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

metis

funkcio metis respondecas pri stokado de datumoj sur la blokĉeno en formo de vortaro. Kiel montrite, metis prenas tri parametrojn. GetContext prenas la kuntekston de la nuntempe funkcianta inteligenta kontrakto, ŝlosilo estas la valoro de la ŝlosilo, kiu estas bezonata por konservi la datumojn, kaj valoro estas la valoro de la datumoj, kiuj devas esti konservitaj. Notu, ke se la valoro de la ŝlosilo jam estas en la vendejo, la funkcio ĝisdatigos sian respondan valoron.

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

akiri

funkcio akiri respondecas pri legado de la datumoj en la nuna blokĉeno per la ŝlosila valoro. En la suba ekzemplo, vi povas plenigi la ŝlosilan valoron en la opciopanelo dekstre por ekzekuti la funkcion kaj legi la datumojn respondajn al la ŝlosila valoro en la blokĉeno.

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

forviŝi

funkcio forviŝi respondecas pri forigo de datumoj en la blokĉeno per la ŝlosila valoro. En la suba ekzemplo, vi povas plenigi la ŝlosilan valoron por la funkcio en la opciopanelo dekstre kaj forigi la datumojn respondajn al la ŝlosila valoro en la blokĉeno.

Kiel verki inteligentan kontrakton en Python en la Ontologio-reto. Parto 2: Stokado API

2. Stokado API-kodo ekzemplo

La suba kodo donas detalan ekzemplon de la uzo de kvin API-oj: GetContext, Get, Put, Delete kaj GetReadOnlyContext. Vi povas provi ruli la API-datumojn en 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)

Antaŭparolo

Blokoĉena stokado estas la kerno de la tuta blokĉena sistemo. La Ontology Storage API estas facile uzebla kaj amika por programistoj.

Aliflanke, stokado estas la fokuso de retpirataj atakoj, kiel la sekureca minaco, kiun ni menciis en unu el la antaŭaj artikoloj— stokado injekta atakoProgramistoj devas atenti specialan sekurecon dum verkado de kodo rilata al stokado. Vi povas trovi la kompletan gvidilon ĉe nia GitHub tie.

En la sekva artikolo ni diskutos kiel uzi Runtime API.

La artikolon tradukis la redaktoroj de Hashrate&Shares precipe por OntologyRussia. plori

Ĉu vi estas programisto? Aliĝu al nia teknika komunumo ĉe Malkonkordo. Ankaŭ, rigardu Centro de Programistoj Ontologio por pli da iloj, dokumentaro kaj pli.

Malfermu taskojn por programistoj. Fermu la taskon - ricevu rekompencon.

Apliki por la Ontologio-talentoprogramo por studentoj

ontologio

Ontologia retejo - GitHub - Malkonkordo - Telegramo rusa - Twitter - Reddit

fonto: www.habr.com

Aldoni komenton