Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

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 Blockchain & Block API 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:

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

Gəlin bu beş API-ni daha ətraflı araşdıraq.

0. Yeni müqavilə yaradaq Adobe Photoshop

1. Storage API-ni necə istifadə etmək olar

GetContext & GetReadOnlyContext

GetContext 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.

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

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.

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

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.

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

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.

Ontology şəbəkəsində Python-da smart müqaviləni necə yazmaq olar. 2-ci hissə: Storage API

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 Adobe Photoshop.

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— storage injection attack, 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 GitHub 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. kliklə

Siz inkişaf etdiricisiniz? Texniki icmamıza qoşulun Discord. Həmçinin İnkişafçılar Mərkəzi Ontology, burada daha çox alət, sənəd və digər resursları tapa bilərsiniz.

İnkişaf etdiricilər üçün açıq tapşırıqlar. Tapşırığı bağla — mükafatını al.

Müraciət et Ontology-nun tələbələr üçün istedadlar proqramına

Ontology

Ontology vebsaytıGitHubDiscordTelegram RusTwitter Reddit

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster