
Bu, Ontology blokçeyn şəbəkəsində Python-da smart kontraktların yaradılması ilə bağlı tədris məqalələri seriyasının ikinci hissəsidir. Əvvəlki məqalədə biz tanış olduq Ontology smart kontraktı.
Bu gün biz ikinci modulu istifadə etməyi müzakirə edəcəyik— Storage APIStorage API beş əlaqəli API-yə malikdir ki, bunlar blokçeyndəki smart kontraktlarda daimi yaddaşa məlumat əlavə etməyə, silməyə və dəyişdirməyə imkan verir.
Aşağıda bu beş API-nin qısa təsviri verilmişdir:

Gəlin bu beş API-ni daha ətraflı araşdıraq.
0. Yeni müqavilə yaradaq
1. Storage API-ni necə istifadə etmək olar
GetContext & GetReadOnlyContext
GetContext və GetReadOnlyContext hazırda icra olunan smart kontraktın kontekstini alır. Qaytarılan dəyər, smart kontraktın cari hash-ın tərsidir. Adından da göründüyü kimi, GetReadOnlyContext yalnız oxumaq üçün konteksti alır. Aşağıda göstərilən nümunədə qaytarılan dəyər, sağ yuxarı küncdə göstərilən kontraktın hash-ının tərsidir.

Put
Funksiya Put blokçeyndə məlumatı lüğət şəklində saxlamaq üçün məsuliyyət daşıyır. Göstərildiyi kimi, Put üç parametr qəbul edir. GetContext hazırda icra olunan smart kontraktın kontekstini alır, key— saxlanacaq məlumat üçün lazım olan açar dəyəridir, value— saxlanacaq məlumatdır. Qeyd edin ki, əgər açar dəyəri artıq yaddaşdadırsa, funksiya müvafiq dəyərini yeniləyəcək.

Get
Funksiya Get hazırki blokçeyndə açar dəyəri vasitəsilə məlumatları oxumaq üçün məsuliyyət daşıyır. Aşağıda göstərilən nümunədə açar dəyərini sağdakı parametr panelində dolduraraq funksiyanı icra edə bilərsiniz və blokçeyndə açar dəyərinə uyğun olan məlumatı ala bilərsiniz.

Delete
Funksiya Delete blokçeyndə açar dəyəri vasitəsilə məlumatları silmək üçün məsuliyyət daşıyır. Aşağıda göstərilən nümunədə açar dəyərini sağdakı parametr panelində dolduraraq funksiyanı icra edə və blokçeyndə açar dəyərinə uyğun olan məlumatı silə bilərsiniz.

2. Storage API üçün kod nümunəsi
Aşağıda göstərilən kod beş API-nin: GetContext, Get, Put, Delete və GetReadOnlyContext istifadə nümunəsini ətraflı izah edir. Bu API-ləri .
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)Son söz
Blokçeyn saxlaması bütün blokçeyn sisteminin mərkəzidir. Ontology Storage API-nin istifadəsi asandır və inkişaf etdiricilər üçün əlverişlidir.
Digər tərəfdən, hackerlərin hədəfləndiyi yer saxlama hücumları var, məsələn, daha əvvəlki məqalələrimizdə bəhs etdiyimiz təhlükəsizlik təhdidi— , inkişaf etdiricilər saxlama ilə əlaqəli kod yazarkən təhlükəsizliyə xüsusi diqqət yetirməlidirlər. Tam bələdçi üçün burada.
Növbəti məqalədə Runtime API.
Məqalə Hashrate&Shares redaksiyası tərəfindən OntologyRussia üçün nəzərdə tutulmuşdur.
Siz inkişaf etdiricisiniz? Texniki icmamıza qoşulun . Həmçinin Ontology, burada daha çox alət, sənəd və digər resursları tapa bilərsiniz.
Tapşırığı bağla — mükafatını al.
Ontology-nun tələbələr üçün istedadlar proqramına
Ontology
— — — — —
Mənbə: habr.com
