Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

Ovo je drugi dio u nizu edukativnih članaka o kreiranju pametnih ugovora u Pythonu na Ontology blockchain mreži. U prethodnom članku smo se upoznali Blockchain & Block API Ontološki pametni ugovor.

Danas ćemo razgovarati o tome kako koristiti drugi modul— API za pohranu. API za pohranu ima pet povezanih API-ja koji omogućavaju dodavanje, brisanje i promjene trajnog skladištenja u pametnim ugovorima na blockchainu.

Ispod je kratak opis ovih pet API-ja:

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

Pogledajmo bliže kako koristiti ovih pet API-ja.

0. Hajde da napravimo novi ugovor SmartX

1. Kako koristiti Storage API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext dobiti kontekst u kojem se izvršava trenutni pametni ugovor. Povratna vrijednost je inverzna heša trenutnog pametnog ugovora. Kao što ime govori, GetReadOnlyContext uzima kontekst samo za čitanje. U primjeru ispod, povratna vrijednost je inverzna heša ugovora prikazanog u gornjem desnom uglu.

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

staviti

funkcija staviti odgovoran je za pohranjivanje podataka na blockchain u obliku rječnika. kao što je prikazano, staviti uzima tri parametra. GetContext uzima kontekst trenutno pokrenutog pametnog ugovora, ključ je vrijednost ključa koji je potreban za spremanje podataka, a vrijednost je vrijednost podataka koje treba sačuvati. Imajte na umu da ako je vrijednost ključa već u spremištu, funkcija će ažurirati svoju odgovarajuću vrijednost.

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranuhashrate-and-shares.ru/images/obzorontology/python/functionput.png

dobiti

funkcija dobiti odgovoran je za čitanje podataka u trenutnom blockchainu kroz vrijednost ključa. U primjeru ispod, možete popuniti vrijednost ključa na panelu opcija s desne strane da biste izvršili funkciju i pročitali podatke koji odgovaraju vrijednosti ključa u blockchainu.

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

izbrisati

funkcija izbrisati odgovoran je za brisanje podataka u blockchainu preko vrijednosti ključa. U primjeru ispod, možete popuniti vrijednost ključa za funkciju u panelu opcija s desne strane i izbrisati podatke koji odgovaraju vrijednosti ključa u blockchainu.

Kako napisati pametni ugovor u Pythonu na mreži Ontology. Dio 2: API za pohranu

2. Primjer koda API-ja za pohranu

Kod u nastavku daje detaljan primjer upotrebe pet API-ja: GetContext, Get, Put, Delete i GetReadOnlyContext. Možete pokušati pokrenuti API podatke 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)

Posle reči

Blockchain skladište je jezgro cijelog blockchain sistema. Ontology Storage API je jednostavan za korištenje i prilagođen programerima.

S druge strane, skladište je fokus hakerskih napada, kao što je sigurnosna prijetnja koju smo spomenuli u jednom od prethodnih članaka— napad ubrizgavanjem skladištenjaOd programera se traži da obrate posebnu pažnju na sigurnost kada pišu kod koji se odnosi na skladištenje. Kompletan vodič možete pronaći na našem GitHub ovdje.

U sljedećem članku ćemo razgovarati o tome kako koristiti Runtime API.

Članak su preveli urednici Hashrate&Shares posebno za OntologyRussia. plakati

Jeste li programer? Pridružite se našoj tehničkoj zajednici na Diskord. Takođe, pogledajte Centar za programere Ontologija za više alata, dokumentacije i još mnogo toga.

Otvoreni zadaci za programere. Zatvorite zadatak - osvojite nagradu.

Prijavite se za program Ontology talent za studente

ontologija

Ontološka web stranica - GitHub - Diskord - Telegram ruski - cvrkut - Reddit

izvor: www.habr.com

Dodajte komentar