ProHoster > Blog > uprava > 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:
Pogledajmo pobliže kako koristiti ovih pet API-ja.
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.
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.
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.
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.
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.