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

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

Ovo je drugi dio u seriji edukativnih članaka o stvaranju 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. Storage API ima pet povezanih API-ja koji dopuštaju dodavanje, brisanje i promjene trajne pohrane u pametnim ugovorima na blockchainu.

Dolje je kratak opis ovih pet API-ja:

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

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

0. Napravimo novi ugovor pametne iskaznice SmartX

1. Kako koristiti API za pohranu

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext dobiti kontekst u kojem se trenutni pametni ugovor izvršava. Povratna vrijednost je inverzna od trenutnog hash pametnog ugovora. Kao što naziv govori, GetReadOnlyContext uzima kontekst samo za čitanje. U donjem primjeru, povratna vrijednost je inverzna vrijednost hasha ugovora prikazanog u gornjem desnom kutu.

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

staviti

Funkcija staviti odgovoran je za pohranu podataka na blockchainu 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 je potrebno spremiti. 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. 2. dio: 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 donjem primjeru možete ispuniti ključnu vrijednost na ploči s opcijama s desne strane kako biste izvršili funkciju i pročitali podatke koji odgovaraju ključnoj vrijednosti u blokovnom lancu.

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

Izbrisati

Funkcija Izbrisati je odgovoran za brisanje podataka u blockchainu kroz vrijednost ključa. U donjem primjeru možete ispuniti ključnu vrijednost za funkciju na ploči s opcijama s desne strane i izbrisati podatke koji odgovaraju ključnoj vrijednosti u lancu blokova.

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

2. Primjer API koda 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 pametne iskaznice 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)

pogovor

Blockchain pohrana je srž cijelog blockchain sustava. Ontology Storage API jednostavan je za korištenje i prilagođen programerima.

S druge strane, pohrana je fokus hakerskih napada, poput sigurnosne prijetnje koju smo spomenuli u jednom od prethodnih članaka— napad injekcijom pohraneProgrameri moraju obratiti posebnu pozornost na sigurnost prilikom pisanja koda koji se odnosi na pohranu. Kompletan vodič možete pronaći na našem GitHub ovdje.

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

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

Jeste li programer? Pridružite se našoj tehnološkoj zajednici na Nesloga. Također, pogledajte Centar za razvojne programere Ontologija, tamo možete pronaći više alata, dokumentacije i još mnogo toga.

Otvoreni zadaci za programere. Izvršite zadatak i osvojite nagradu.

Primijeni za ontološki talent program za studente

Ontologija

Ontološka web stranica - GitHub - Nesloga - Telegram ruski - X / Twitter - Reddit

Izvor: www.habr.com

Dodajte komentar