Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

Ez a második rész a blokklánc Ontology okosszerződésekről szóló oktatócikk-sorozatban. Az előző cikkben megismertük a Blockchain & Block API Ontology okosszerződést.

Ma arról fogunk beszélni, hogyan használjuk a második modult— Storage API. A Storage API öt kapcsolódó API-t tartalmaz, amelyek lehetővé teszik az adatok hozzáadását, törlését és módosításait az állandó tárolón belül az okosszerződéseknél a blokkláncon.

Az alábbiakban rövid leírás található az öt API-ról:

Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

Nézzük meg részletesebben, hogyan használhatjuk ezeket az öt API-t.

0. Hozzunk létre egy új szerződést SmartX

1. Hogyan használjuk a Storage API-t

GetContext & GetReadOnlyContext

GetContext és GetReadOnlyContext jelenlegi okosszerződés futási környezetének kontextusát szerzi meg. A visszatérési érték a jelenlegi okosszerződés hash-ének fordítottja. Ahogy a neve is jelzi, GetReadOnlyContext csak az olvasási módban működő kontextust vette. Az alábbi példában a visszatérési érték a jobb felső sarokban megjelenő szerződés hash-ének fordítottja.

Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

Put

Funkció Put felelős az adatok blokkláncon történő tárolásáért szótár formájában. Ahogy az a példában látható, Put három paramétert fogad el. GetContext a jelenleg végrehajtott okosszerződés kontextusát, key— az a kulcs, amelynek értéke szükséges az adatok tárolásához, value— pedig azoknak az adatoknak az értéke, amelyeket tárolni kell. Megjegyzendő, hogy ha a kulcs értéke már megtalálható a tárolóban, a funkció frissíti a megfelelő értékét.

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

Get

Funkció Get felelős az adatok olvasásáért az aktuális blokkláncon a kulcs értéke alapján. Az alábbi példában a jobb oldali paraméterpanelekben megadhatja a kulcs értékét, hogy végrehajtsa a funkciót, és megkapja a blokkláncban a kulcs értékéhez tartozó adatokat.

Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

Törlés

Funkció Törlés felelős az adatok törléséért a blokkláncon a kulcs értéke alapján. Az alábbi példában megadhatja a kulcs értékét a funkció végrehajtásához a jobb oldali paraméterpanelekben, és törölheti a blokkláncon a kulcs értékéhez tartozó adatokat.

Hogyan írjunk okosszerződést Pythonban az Ontology hálózaton. 2. rész: Storage API

2. Storage API példa kód

Az alábbi kód részletes példát ad az öt API használatára: GetContext, Get, Put, Delete és GetReadOnlyContext. Próbálja ki ezeknek az API-knak a futtatását. 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ének magját képezi. Az Ontology Storage API egyszerűen alkalmazható és kényelmes a fejlesztők számára.

Másrészről, a tárolóra összpontosítanak a hackerek támadásai, például a biztonsági fenyegetés, amiről az egyik korábbi cikkünkben említést tettünk— tárolási injekciós támadás, a fejlesztőknek különös figyelmet kell fordítaniuk a biztonságra, amikor a tárolóval kapcsolatos kódot írnak. A teljes útmutatót megtalálhatja a GitHub itt.

Következő cikkünkben megbeszéljük, hogyan lehet használni a Runtime API.

A cikket a Hashrate&Shares szerkesztősége fordította az OntologyRussia számára. kattintás

Fejlesztő vagy? Csatlakozz a technikai közösségünkhöz a Discord. Ezen kívül nézd meg a Fejlesztőközpontot Ontology, ahol több eszközt, dokumentációt és sok mást találhatsz.

Fejlesztők számára nyitott feladatok. Zárd le a feladatot — szerezz jutalmat.

Jelentkezés az Ontology tehetségprogramjára diákok számára

Ontology

Ontology weboldal — GitHub — Discord — Telegram Orosz — vagy a — Reddit

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster