Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

Toto je druhá časť zo série vzdelávacích článkov o vytváraní inteligentných zmlúv v Pythone na blockchain sieti Ontology. V predchádzajúcom článku sme sa zoznámili Blockchain & Block API Ontologická inteligentná zmluva.

Dnes budeme diskutovať o tom, ako používať druhý modul — Storage API. Storage API má päť súvisiacich rozhraní API, ktoré umožňujú pridávanie, mazanie a zmeny v trvalom ukladaní v inteligentných zmluvách na blockchaine.

Nižšie je uvedený stručný popis týchto piatich rozhraní API:

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

Pozrime sa bližšie na to, ako používať týchto päť API.

0. Vytvorme novú zmluvu SmartX

1. Ako používať Storage API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext získať kontext, v ktorom sa vykonáva aktuálna inteligentná zmluva. Návratová hodnota je inverzná hodnota aktuálneho hashu inteligentnej zmluvy. Ako už názov napovedá, GetReadOnlyContext preberá kontext iba na čítanie. V nižšie uvedenom príklade je vrátená hodnota inverznou hodnotou hašovania zmluvy zobrazenej v pravom hornom rohu.

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

Dať

Funkcia Dať je zodpovedný za ukladanie údajov na blockchaine vo forme slovníka. Ako je znázornené, Dať má tri parametre. GetContext berie kontext aktuálne spustenej inteligentnej zmluvy, kľúč je hodnota kľúča, ktorý je potrebný na uloženie údajov, a hodnota je hodnota údajov, ktoré je potrebné uložiť. Upozorňujeme, že ak je hodnota kľúča už v obchode, funkcia aktualizuje zodpovedajúcu hodnotu.

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

dostať

Funkcia dostať je zodpovedný za čítanie údajov v aktuálnom blockchaine prostredníctvom hodnoty kľúča. V nižšie uvedenom príklade môžete vyplniť hodnotu kľúča v paneli možností napravo, aby ste vykonali funkciu a prečítali údaje zodpovedajúce hodnote kľúča v blockchaine.

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

vymazať

Funkcia vymazať je zodpovedný za vymazanie údajov v blockchaine prostredníctvom hodnoty kľúča. V nižšie uvedenom príklade môžete vyplniť hodnotu kľúča pre funkciu na paneli možností vpravo a vymazať údaje zodpovedajúce hodnote kľúča v blockchaine.

Ako napísať inteligentnú zmluvu v Pythone v sieti Ontology. Časť 2: Storage API

2. Príklad kódu Storage API

Nižšie uvedený kód poskytuje podrobný príklad použitia piatich rozhraní API: GetContext, Get, Put, Delete a GetReadOnlyContext. Môžete skúsiť spustiť údaje API 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)

Doslov

Blockchain úložisko je jadrom celého blockchain systému. Ontology Storage API sa ľahko používa a je prívetivé pre vývojárov.

Na druhej strane, úložisko je stredobodom hackerských útokov, ako je bezpečnostná hrozba, ktorú sme spomenuli v jednom z predchádzajúcich článkov – útok injekcie úložiskaVývojári sú povinní venovať osobitnú pozornosť bezpečnosti pri písaní kódu, ktorý sa týka úložiska. Kompletný návod nájdete na našom GitHub tu.

V nasledujúcom článku si povieme, ako ho používať Runtime API.

Článok bol preložený redaktormi Hashrate&Shares špeciálne pre OntologyRussia. cvaknutie

Ste vývojár? Pripojte sa k našej technickej komunite na zvar. Tiež sa pozrite na Vývojárske centrum Ontológie, nájdete tam ďalšie nástroje, dokumentáciu a oveľa viac.

Otvorené úlohy pre vývojárov. Splňte úlohu a získajte odmenu.

Použiť na talentový program Ontológia pre študentov

ontológie

Webová stránka ontológie - GitHub - zvar - Ruský telegram - Twitter - facebook

Zdroj: hab.com

Pridať komentár