ProHoster > blog > Amministrazzjoni > Kif tikteb kuntratt intelliġenti f'Python fuq in-netwerk tal-Ontoloġija. Parti 2: API tal-Ħażna
Kif tikteb kuntratt intelliġenti f'Python fuq in-netwerk tal-Ontoloġija. Parti 2: API tal-Ħażna
Din hija t-tieni parti f'serje ta 'artikoli edukattivi dwar il-ħolqien ta' kuntratti intelliġenti f'Python fuq in-netwerk tal-blockchain tal-Ontology. Fl-artiklu preċedenti sirna midħla Blockchain & Blokk API Kuntratt intelliġenti tal-ontoloġija.
Illum se niddiskutu kif nużaw it-tieni modulu— API tal-ħażna. L-API tal-Ħażna għandha ħames APIs relatati li jippermettu żieda, tħassir u bidliet għal ħażna persistenti f'kuntratti intelliġenti fuq il-blockchain.
Hawn taħt hawn deskrizzjoni qasira ta' dawn il-ħames APIs:
Ejja nagħtu ħarsa aktar mill-qrib lejn kif tuża dawn il-ħames APIs.
GetContext и GetReadOnlyContext tikseb il-kuntest li fih jiġi esegwit il-kuntratt intelliġenti attwali. Il-valur tar-ritorn huwa l-invers tal-hash tal-kuntratt intelliġenti attwali. Kif jissuġġerixxi l-isem, GetReadOnlyContext jieħu l-kuntest tal-qari biss. Fl-eżempju hawn taħt, il-valur tar-ritorn huwa l-invers tal-hash tal-kuntratt muri fir-rokna ta 'fuq tal-lemin.
jitqiegħdu
Funzjoni jitqiegħdu huwa responsabbli għall-ħażna tad-data fuq il-blockchain fil-forma ta 'dizzjunarju. Kif muri, jitqiegħdu jieħu tliet parametri. GetContext jieħu l-kuntest tal-kuntratt intelliġenti li qed jaħdem bħalissa, iċ-ċavetta hija l-valur taċ-ċavetta li hija meħtieġa biex issalva d-dejta, u l-valur huwa l-valur tad-dejta li jeħtieġ li tiġi ssejvjata. Innota li jekk il-valur taċ-ċavetta diġà jinsab fil-maħżen, il-funzjoni se taġġorna l-valur korrispondenti tagħha.
Funzjoni Get huwa responsabbli għall-qari tad-dejta fil-blockchain attwali permezz tal-valur ewlieni. Fl-eżempju hawn taħt, tista 'timla l-valur ewlieni fil-pannell tal-għażliet fuq il-lemin biex tesegwixxi l-funzjoni u taqra d-dejta li tikkorrispondi għall-valur ewlieni fil-blockchain.
Ħassar
Funzjoni Ħassar huwa responsabbli għat-tħassir tad-dejta fil-blockchain permezz tal-valur ewlieni. Fl-eżempju hawn taħt, tista 'timla l-valur ewlieni għall-funzjoni fil-pannell tal-għażliet fuq il-lemin u tħassar id-dejta li tikkorrispondi għall-valur ewlieni fil-blockchain.
2. Eżempju tal-kodiċi API tal-ħażna
Il-kodiċi hawn taħt jagħti eżempju dettaljat tal-użu ta 'ħames APIs: GetContext, Get, Put, Delete u GetReadOnlyContext. Tista' tipprova tħaddem id-dejta tal-API 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)
Wara kelma
Il-ħażna tal-blockchain hija l-qalba tas-sistema sħiħa tal-blockchain. L-API tal-Ħażna tal-Ontoloġija hija faċli biex tużah u faċli għall-iżviluppatur.
Min-naħa l-oħra, il-ħażna hija l-fokus tal-attakki tal-hackers, bħat-theddida għas-sigurtà li semmejna f'wieħed mill-artikoli preċedenti— attakk injezzjoni ħażnaL-iżviluppaturi huma meħtieġa jagħtu attenzjoni speċjali lis-sigurtà meta jiktbu kodiċi li għandu x'jaqsam mal-ħażna. Tista' ssib il-gwida sħiħa fuq tagħna GitHub hawnhekk.
Fl-artiklu li jmiss se niddiskutu kif tuża Runtime API.
L-artiklu ġie tradott mill-edituri ta 'Hashrate&Shares speċjalment għal OntologyRussia. biki
Inti żviluppatur? Ingħaqad fil-komunità tat-teknoloġija tagħna fuq Diskord. Ukoll, agħti ħarsa lejn Ċentru għall-Iżviluppaturi Ontoloġija, tista 'ssib aktar għodod, dokumentazzjoni u ħafna aktar hemmhekk.