Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

See on teine ​​osa harivate artiklite sarjast, mis käsitleb Pythonis nutikate lepingute loomist Ontoloogia plokiahela võrgus. Eelmises artiklis tutvusime Blockchain & Block API Ontoloogia tark leping.

Täna arutame, kuidas kasutada teist moodulit - Storage API. Storage API-l on viis seotud API-d, mis võimaldavad plokiahela nutikates lepingutes püsivat salvestust lisada, kustutada ja muuta.

Allpool on nende viie API lühikirjeldus.

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

Vaatame lähemalt, kuidas neid viit API-d kasutada.

0. Teeme uue lepingu SmartX

1. Storage API kasutamine

GetContext ja GetReadOnlyContext

GetContext и GetReadOnlyContext saada konteksti, milles praegust nutikat lepingut täidetakse. Tagastusväärtus on praeguse nutika lepingu räsi pöördväärtus. Nagu nimigi ütleb, GetReadOnlyContext võtab kirjutuskaitstud konteksti. Allolevas näites on tagastusväärtus paremas ülanurgas kuvatava lepingu räsi pöördväärtus.

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

Panema

Funktsioon Panema vastutab andmete salvestamise eest plokiahelas sõnastiku kujul. Nagu näidatud, Panema võtab kolm parameetrit. GetContext võtab hetkel töötava nutika lepingu konteksti, võti on andmete salvestamiseks vajaliku võtme väärtus ja väärtus on salvestatavate andmete väärtus. Pange tähele, et kui võtme väärtus on juba poes, värskendab funktsioon vastavat väärtust.

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Saama

Funktsioon Saama vastutab praeguse plokiahela andmete lugemise eest võtmeväärtuse kaudu. Allolevas näites saate funktsiooni täitmiseks sisestada võtme väärtuse paremal asuvas valikute paneelis ja lugeda plokiahelas võtmeväärtusele vastavaid andmeid.

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

kustutama

Funktsioon kustutama vastutab andmete kustutamise eest plokiahelas võtmeväärtuse kaudu. Allolevas näites saate paremal suvandite paneelil täita funktsiooni võtmeväärtuse ja kustutada plokiahelas võtmeväärtusele vastavad andmed.

Kuidas ontoloogiavõrgus Pythonis nutikat lepingut kirjutada. 2. osa: Storage API

2. Storage API koodi näide

Allolev kood annab üksikasjaliku näite viie API kasutamisest: GetContext, Get, Put, Delete ja GetReadOnlyContext. Võite proovida API andmeid sisse lülitada 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)

järelsõna

Plokiahela salvestusruum on kogu plokiahela süsteemi tuum. Ontology Storage API on lihtsalt kasutatav ja arendajasõbralik.

Teisest küljest on salvestus häkkerite rünnakute fookuses, nagu näiteks ühes eelmises artiklis mainitud turvaoht – ladustamise süsti rünnakArendajad peavad salvestusega seotud koodi kirjutamisel pöörama erilist tähelepanu turvalisusele. Täieliku juhendi leiate meie lehelt GitHub siia.

Järgmises artiklis käsitleme selle kasutamist Runtime API.

Artikli tõlkisid Hashrate&Sharesi toimetajad spetsiaalselt OntologyRussia jaoks. nutma

Kas olete arendaja? Liituge meie tehnikakogukonnaga aadressil Erimeelsused. Samuti vaadake Arendaja keskus Ontoloogia, sealt leiate rohkem tööriistu, dokumentatsiooni ja palju muud.

Avatud ülesanded arendajatele. Täitke ülesanne ja saage tasu.

Rakenda üliõpilastele mõeldud ontoloogia talendiprogrammi jaoks

Ontoloogia

Ontoloogia veebisait - GitHub - Erimeelsused - Telegram vene keeles - puperdama - reddit

Allikas: www.habr.com

Lisa kommentaar