Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

To druga część z serii artykułów edukacyjnych na temat tworzenia inteligentnych kontraktów w Pythonie w sieci blockchain Ontology. W poprzednim artykule się zapoznaliśmy Blockchain i API blokowania Inteligentny kontrakt ontologiczny.

Dzisiaj omówimy, jak korzystać z drugiego modułu — API pamięci masowej. Interfejs API przechowywania ma pięć powiązanych interfejsów API, które umożliwiają dodawanie, usuwanie i zmiany w pamięci trwałej w inteligentnych kontraktach w łańcuchu bloków.

Poniżej znajduje się krótki opis tych pięciu interfejsów API:

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

Przyjrzyjmy się bliżej, jak korzystać z tych pięciu interfejsów API.

0. Stwórzmy nową umowę SmartX

1. Jak korzystać z API Storage

GetContext i GetReadOnlyContext

Pobierzkontekst и GetReadOnlyContext uzyskaj kontekst, w którym wykonywany jest bieżący inteligentny kontrakt. Wartość zwracana jest odwrotnością bieżącego skrótu inteligentnego kontraktu. Jak sama nazwa wskazuje, GetReadOnlyContext przyjmuje kontekst tylko do odczytu. W poniższym przykładzie zwracaną wartością jest odwrotność skrótu kontraktu wyświetlanego w prawym górnym rogu.

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

PUT

Funkcja PUT odpowiada za przechowywanie danych na blockchainie w formie słownika. Jak pokazano, PUT przyjmuje trzy parametry. Pobierzkontekst bierze kontekst aktualnie działającego inteligentnego kontraktu, klucz to wartość klucza potrzebnego do zapisania danych, a wartość to wartość danych, które muszą zostać zapisane. Należy pamiętać, że jeśli wartość klucza znajduje się już w magazynie, funkcja zaktualizuje odpowiadającą jej wartość.

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowejhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

Funkcja Get odpowiada za odczyt danych w bieżącym łańcuchu bloków poprzez wartość klucza. W poniższym przykładzie możesz wpisać wartość klucza w panelu opcji po prawej stronie, aby wykonać funkcję i odczytać dane odpowiadające wartości klucza w blockchainie.

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

Usuń

Funkcja Usuń odpowiada za usuwanie danych w blockchainie poprzez wartość klucza. W poniższym przykładzie możesz wpisać wartość klucza dla funkcji w panelu opcji po prawej stronie i usunąć dane odpowiadające wartości klucza w blockchainie.

Jak napisać inteligentny kontrakt w Pythonie w sieci Ontology. Część 2: API pamięci masowej

2. Przykład kodu API pamięci masowej

Poniższy kod zawiera szczegółowy przykład użycia pięciu interfejsów API: GetContext, Get, Put, Delete i GetReadOnlyContext. Możesz spróbować uruchomić dane API w 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)

Posłowie

Magazyn Blockchain jest rdzeniem całego systemu blockchain. Interfejs API Ontology Storage jest łatwy w użyciu i przyjazny dla programistów.

Z drugiej strony pamięć masowa jest przedmiotem ataków hakerów, takich jak zagrożenie bezpieczeństwa, o którym wspominaliśmy w jednym z poprzednich artykułów — atak polegający na wstrzykiwaniu pamięciProgramiści są zobowiązani do zwrócenia szczególnej uwagi na bezpieczeństwo podczas pisania kodu związanego z pamięcią masową. Kompletny przewodnik znajdziesz na naszej stronie GitHub tutaj.

W następnym artykule omówimy, jak korzystać Interfejs API środowiska wykonawczego.

Artykuł został przetłumaczony przez redakcję Hashrate&Shares specjalnie dla OntologyRussia. płakać

jesteś programistą? Dołącz do naszej społeczności technicznej pod adresem Discord. Także przyjrzyj się Centrum programistów Ontology, znajdziesz tam więcej narzędzi, dokumentację i wiele więcej.

Otwarte zadania dla programistów. Wykonaj zadanie i odbierz nagrodę.

Zastosować w ramach programu talentów Ontology dla studentów

Ontologia

Witryna internetowa ontologii - GitHub - Discord - Telegram rosyjski - Twitter - Reddit

Źródło: www.habr.com

Dodaj komentarz