ProHoster > Блог > Administracija > 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:
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.
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.
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.
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.
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.