ProHoster > Blog > Ma'muriyat > Ontologiya tarmog'ida Python-da aqlli shartnomani qanday yozish mumkin. 2-qism: Saqlash API
Ontologiya tarmog'ida Python-da aqlli shartnomani qanday yozish mumkin. 2-qism: Saqlash API
Bu Ontology blokcheyn tarmog'ida Python-da aqlli shartnomalar yaratish bo'yicha o'quv maqolalari seriyasining ikkinchi qismi. Oldingi maqolada biz tanishgan edik Blockchain & Block API Ontologiya aqlli shartnoma.
Bugun biz ikkinchi moduldan qanday foydalanishni muhokama qilamiz - Saqlash API. Storage API-da blokcheyndagi aqlli shartnomalarda doimiy saqlashni qo'shish, o'chirish va o'zgartirish imkonini beruvchi beshta tegishli API mavjud.
Quyida ushbu beshta APIning qisqacha tavsifi keltirilgan:
Keling, ushbu beshta APIdan qanday foydalanishni batafsil ko'rib chiqaylik.
GetContext и GetReadOnlyContext joriy aqlli shartnoma amalga oshirilayotgan kontekstni oling. Qaytish qiymati joriy aqlli kontrakt xeshiga teskari qiymatdir. Nomidan ko'rinib turibdiki, GetReadOnlyContext faqat o'qish uchun kontekstni oladi. Quyidagi misolda qaytarish qiymati yuqori o'ng burchakda ko'rsatilgan shartnoma xeshining teskarisidir.
qo'yish
vazifa qo'yish lug'at shaklida blokcheyndagi ma'lumotlarni saqlash uchun javobgardir. Ko'rsatilganidek, qo'yish uchta parametrni oladi. GetContext hozirda ishlayotgan aqlli shartnoma kontekstini oladi, kalit ma'lumotlarni saqlash uchun zarur bo'lgan kalitning qiymati va qiymat - saqlanishi kerak bo'lgan ma'lumotlarning qiymati. E'tibor bering, agar kalitning qiymati allaqachon do'konda bo'lsa, funktsiya mos keladigan qiymatni yangilaydi.
vazifa oling joriy blokcheyndagi ma'lumotlarni kalit qiymati orqali o'qish uchun javobgardir. Quyidagi misolda siz funktsiyani bajarish uchun o'ngdagi variantlar panelida kalit qiymatini to'ldirishingiz va blokcheyndagi kalit qiymatiga mos keladigan ma'lumotlarni o'qishingiz mumkin.
o'chirish
vazifa o'chirish kalit qiymati orqali blokcheyndagi ma'lumotlarni o'chirish uchun javobgardir. Quyidagi misolda siz o'ngdagi variantlar panelida funksiya uchun kalit qiymatini to'ldirishingiz va blokcheyndagi kalit qiymatiga mos keladigan ma'lumotlarni o'chirishingiz mumkin.
2. Storage API kodi misoli
Quyidagi kod beshta API dan foydalanishning batafsil misolini beradi: GetContext, Get, Put, Delete va GetReadOnlyContext. API ma'lumotlarini ishga tushirishga urinib ko'rishingiz mumkin 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)
So'zdan keyin
Blokcheyn saqlash butun blokcheyn tizimining yadrosidir. Ontology Storage API-dan foydalanish oson va ishlab chiquvchilar uchun qulay.
Boshqa tomondan, saqlash xakerlik hujumlarining diqqat markazida bo'ladi, masalan, biz oldingi maqolalardan birida aytib o'tgan xavfsizlik tahdidi— saqlashga qarshi hujumSaqlash bilan bog'liq kodni yozishda ishlab chiquvchilar xavfsizlikka alohida e'tibor berishlari kerak. To'liq qo'llanmani bizning saytimizda topishingiz mumkin GitHub Bu erda.
Keyingi maqolada biz qanday foydalanishni muhokama qilamiz Runtime API.
Maqola Hashrate&Shares muharrirlari tomonidan ayniqsa OntologyRussia uchun tarjima qilingan. yig'lamoq
Siz dasturchimisiz? Bizning texnologik hamjamiyatimizga qo'shiling Tanqid. Bundan tashqari, ko'rib chiqing Dasturchilar markazi Ontologiya, siz u erda ko'proq vositalar, hujjatlar va boshqa ko'p narsalarni topishingiz mumkin.