ProHoster > Blogi > Haldamine > 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.
Vaatame lähemalt, kuidas neid viit API-d kasutada.
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.
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.
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.
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.
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.