Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

Å Ä« ir otrā daļa izglÄ«tojoÅ”u rakstu sērijā par viedo lÄ«gumu izveidi Python Ontology blokķēdes tÄ«klā. IepriekŔējā rakstā mēs iepazināmies ar Blockchain & Block API OntoloÄ£ijas viedais lÄ«gums.

Šodien mēs apspriedīsim, kā izmantot otro moduli - Krātuves API. Storage API ir piecas saistītas API, kas ļauj pievienot, dzēst un mainīt pastāvīgo krātuvi viedajos līgumos blokķēdē.

Tālāk ir sniegts īss Ŕo piecu API apraksts.

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

Sīkāk apskatīsim, kā izmantot Ŕīs piecas API.

0. Izveidosim jaunu līgumu SmartX

1. Kā izmantot krātuves API

GetContext un GetReadOnlyContext

GetContext Šø GetReadOnlyContext iegÅ«stiet kontekstu, kurā tiek izpildÄ«ts paÅ”reizējais viedais lÄ«gums. AtgrieÅ”anas vērtÄ«ba ir paÅ”reizējā viedā lÄ«guma jaucējkoda apgrieztā vērtÄ«ba. Kā norāda nosaukums, GetReadOnlyContext izmanto tikai lasāmu kontekstu. Tālāk esoÅ”ajā piemērā atgrieÅ”anas vērtÄ«ba ir lÄ«guma jaucējkoda apgrieztā vērtÄ«ba, kas tiek parādÄ«ta augŔējā labajā stÅ«rÄ«.

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

likt

Funkcija likt ir atbildÄ«gs par datu glabāŔanu blokķēdē vārdnÄ«cas veidā. Kā parādÄ«ts, likt aizņem trÄ«s parametrus. GetContext ņem kontekstu ar paÅ”laik spēkā esoÅ”o viedo lÄ«gumu, atslēga ir atslēgas vērtÄ«ba, kas nepiecieÅ”ama datu saglabāŔanai, un vērtÄ«ba ir saglabājamo datu vērtÄ«ba. Ņemiet vērā: ja atslēgas vērtÄ«ba jau ir veikalā, funkcija atjauninās tai atbilstoÅ”o vērtÄ«bu.

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Saņemt

Funkcija Saņemt ir atbildÄ«gs par datu nolasÄ«Å”anu paÅ”reizējā blokķēdē, izmantojot atslēgas vērtÄ«bu. Tālāk esoÅ”ajā piemērā varat ievadÄ«t atslēgas vērtÄ«bu opciju panelÄ« labajā pusē, lai izpildÄ«tu funkciju un nolasÄ«tu datus, kas atbilst atslēgas vērtÄ«bai blokķēdē.

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

izdzēst

Funkcija izdzēst ir atbildÄ«gs par datu dzÄ“Å”anu blokķēdē, izmantojot atslēgas vērtÄ«bu. Tālāk esoÅ”ajā piemērā varat ievadÄ«t funkcijas atslēgas vērtÄ«bu opciju panelÄ« labajā pusē un dzēst datus, kas atbilst atslēgas vērtÄ«bai blokķēdē.

Kā uzrakstÄ«t viedo lÄ«gumu Python ontoloÄ£ijas tÄ«klā. 2. daļa: krātuves API

2. Storage API koda piemērs

Tālāk sniegtajā kodā ir sniegts detalizēts piecu API izmantoÅ”anas piemērs: GetContext, Get, Put, Delete un GetReadOnlyContext. Varat mēģināt palaist API datus 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)

Pēcvārds

Blockchain krātuve ir visas blokķēdes sistēmas kodols. Ontology Storage API ir viegli lietojama un izstrādātājiem draudzīga.

No otras puses, uz krātuvi ir vērsti hakeru uzbrukumi, piemēram, droŔības draudi, par kuriem mēs minējām vienā no iepriekŔējiem rakstiem. uzglabāŔanas injekcijas uzbrukumsIzstrādātājiem, rakstot kodu, kas attiecas uz krātuvi, Ä«paÅ”a uzmanÄ«ba jāpievērÅ” droŔībai. Pilnu rokasgrāmatu varat atrast mÅ«su vietnē GitHub Å”eit.

Nākamajā rakstā mēs apspriedīsim, kā to izmantot Izpildlaika API.

Rakstu speciāli OntologyRussia tulkojuŔi Hashrate&Shares redaktori. raudāt

Vai jūs esat izstrādātājs? Pievienojieties mūsu tehnoloģiju kopienai vietnē Neatbilstība. Apskatiet arī Izstrādātāju centrs Ontoloģija, tur var atrast vairāk rīku, dokumentāciju un daudz ko citu.

Atvērtie uzdevumi izstrādātājiem. Pabeidziet uzdevumu un saņemiet atlīdzību.

Piesakies ontoloģijas talantu programmai studentiem

Ontoloģiju

Ontoloģijas vietne Sākot no GitHub Sākot no Neatbilstība Sākot no Telegramma krievu valodā Sākot no Twitter Sākot no Reddit

Avots: www.habr.com

Pievieno komentāru