Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

Toto je druhý díl ze série vzdělávacích článků o vytváření chytrých kontraktů v Pythonu na blockchainové síti Ontology. V předchozím článku jsme se seznámili Blockchain & Block API Ontologická inteligentní smlouva.

Dnes probereme, jak používat druhý modul — Storage API. Storage API má pět souvisejících API, které umožňují přidávání, mazání a změny trvalého úložiště v inteligentních kontraktech na blockchainu.

Níže je uveden stručný popis těchto pěti rozhraní API:

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

Pojďme se blíže podívat na to, jak těchto pět API používat.

0. Vytvořme novou smlouvu SmartX

1. Jak používat Storage API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext získat kontext, ve kterém se provádí aktuální smart kontrakt. Návratová hodnota je inverzní hodnota aktuální hodnoty hash smart kontraktu. Jak název napovídá, GetReadOnlyContext přebírá kontext pouze pro čtení. V níže uvedeném příkladu je vrácená hodnota inverzní hodnotou hash smlouvy zobrazené v pravém horním rohu.

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

dát

Funkce dát je zodpovědný za ukládání dat na blockchainu ve formě slovníku. Jak je znázorněno, dát má tři parametry. GetContext bere kontext aktuálně běžícího smart kontraktu, key je hodnota klíče, který je potřeba k uložení dat, a value je hodnota dat, která je potřeba uložit. Všimněte si, že pokud je hodnota klíče již v úložišti, funkce aktualizuje odpovídající hodnotu.

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Získejte

Funkce Získejte je zodpovědný za čtení dat v aktuálním blockchainu prostřednictvím hodnoty klíče. V níže uvedeném příkladu můžete vyplnit hodnotu klíče v panelu možností napravo, abyste provedli funkci a načetli data odpovídající hodnotě klíče v blockchainu.

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

Vymazat

Funkce Vymazat je zodpovědný za mazání dat v blockchainu prostřednictvím hodnoty klíče. V níže uvedeném příkladu můžete vyplnit hodnotu klíče pro funkci v panelu možností vpravo a smazat data odpovídající hodnotě klíče v blockchainu.

Jak napsat chytrou smlouvu v Pythonu na síti Ontology. Část 2: Storage API

2. Příklad kódu Storage API

Níže uvedený kód poskytuje podrobný příklad použití pěti rozhraní API: GetContext, Get, Put, Delete a GetReadOnlyContext. Můžete zkusit spustit data 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

Blockchainové úložiště je jádrem celého blockchainového systému. Ontology Storage API se snadno používá a je přívětivé pro vývojáře.

Na druhou stranu úložiště je ohniskem hackerských útoků, jako je bezpečnostní hrozba, kterou jsme zmínili v jednom z předchozích článků – útok injekce úložištěVývojáři jsou povinni věnovat zvláštní pozornost bezpečnosti při psaní kódu, který se týká úložiště. Kompletního průvodce najdete na našem GitHub zde.

V dalším článku si řekneme, jak používat Runtime API.

Článek byl přeložen redakcí Hashrate&Shares speciálně pro OntologyRussia. klikněte na tlačítko

Jste vývojář? Připojte se k naší technické komunitě na Svár. Také se podívejte na Vývojářské centrum Ontologie pro další nástroje, dokumentaci a další.

Otevřené úlohy pro vývojáře. Uzavřete úkol – získejte odměnu.

Aplikovat pro talentový program Ontologie pro studenty

Ontologie

Web o ontologii - GitHub - Svár - Telegram v ruštině - X - reddit

Zdroj: www.habr.com

Přidat komentář