Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

Ez a második része az intelligens szerződések létrehozásáról szóló oktatási cikksorozatnak Pythonban az Ontology blokklánc hálózaton. Az előző cikkben megismerkedtünk Blockchain & Block API Ontológiai intelligens szerződés.

Ma megbeszéljük, hogyan kell használni a második modult – Tároló API. A Storage API öt kapcsolódó API-val rendelkezik, amelyek lehetővé teszik a blokkláncon lévő intelligens szerződések állandó tárolásának hozzáadását, törlését és módosítását.

Az alábbiakban röviden ismertetjük ezt az öt API-t:

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

Nézzük meg közelebbről ennek az öt API-nak a használatát.

0. Kössünk új szerződést SmartX

1. A Storage API használata

GetContext és GetReadOnlyContext

GetContext и GetReadOnlyContext lekérni a kontextust, amelyben az aktuális intelligens szerződés végrehajtásra kerül. A visszatérési érték az aktuális intelligens szerződés hash inverze. Ahogy a név is sugallja, GetReadOnlyContext csak olvasható kontextust veszi át. Az alábbi példában a visszatérési érték a jobb felső sarokban megjelenő szerződés hash inverze.

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

Tedd

Funkció Tedd felelős az adatok tárolásáért a blokkláncon szótár formájában. Az ábrán látható módon, Tedd három paramétert vesz igénybe. GetContext a jelenleg futó intelligens szerződés kontextusát veszi fel, a kulcs az adatok mentéséhez szükséges kulcs értéke, az érték pedig a mentendő adatok értéke. Vegye figyelembe, hogy ha a kulcs értéke már a tárolóban van, a függvény frissíti a megfelelő értékét.

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Kap

Funkció Kap felelős az aktuális blokkláncban lévő adatok beolvasásáért a kulcsértéken keresztül. Az alábbi példában a jobb oldali beállítási panelen kitöltheti a kulcsértéket a funkció végrehajtásához, és kiolvashatja a kulcsértéknek megfelelő adatokat a blokkláncban.

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

töröl

Funkció töröl felelős a blokkláncban lévő adatok törléséért a kulcsértéken keresztül. Az alábbi példában a jobb oldali beállítási panelen kitöltheti a funkció kulcsértékét, és törölheti a kulcsértéknek megfelelő adatokat a blokkláncban.

Hogyan írjunk intelligens szerződést Pythonban az Ontológia hálózaton. 2. rész: Storage API

2. Tárolási API kód ​​példa

Az alábbi kód részletes példát ad öt API használatára: GetContext, Get, Put, Delete és GetReadOnlyContext. Megpróbálhatja futtatni az API-adatokat 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)

utószó

A blokklánc tároló a teljes blokklánc rendszer magja. Az Ontology Storage API könnyen használható és fejlesztőbarát.

Másrészt a tárhely áll a hackertámadások középpontjában, mint például az egyik korábbi cikkben említett biztonsági fenyegetés – tárolási injekciós támadásA fejlesztőknek különös figyelmet kell fordítaniuk a biztonságra, amikor a tároláshoz kapcsolódó kódot írnak. A teljes útmutatót megtalálja nálunk GitHub itt.

A következő cikkben megbeszéljük, hogyan kell használni Futóidejű API.

A cikket a Hashrate&Shares szerkesztői fordították le kifejezetten az OntologyRussia számára. kiáltás

Ön fejlesztő? Csatlakozz technológiai közösségünkhöz a címen Viszály. Továbbá, vessen egy pillantást Fejlesztői Központ Ontológia, több eszközt, dokumentációt és még sok mást találhat ott.

Nyílt feladatok fejlesztőknek. Hajtsa végre a feladatot, és kapjon jutalmat.

Alkalmaz a hallgatóknak szóló Ontológia tehetségprogramhoz

ontológia

Ontológiai honlap - GitHub - Viszály - Távirat orosz - Twitter - Reddit

Forrás: will.com

Hozzászólás