ProHoster > Blog > Adminisztráció > 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:
Nézzük meg közelebbről ennek az öt API-nak a használatát.
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.
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.
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.
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.
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.