Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

Bu, Ontology blockchain şəbəkəsində Python-da ağıllı müqavilələrin yaradılmasına dair maarifləndirici məqalələr silsiləsinin ikinci hissəsidir. Əvvəlki yazıda tanış olduq Blockchain & Block API Ontoloji ağıllı müqavilə.

Bu gün biz ikinci moduldan necə istifadə edəcəyimizi müzakirə edəcəyik— Storage API. Storage API-də blokçeyndəki ağıllı müqavilələrdə davamlı yaddaşa əlavə, silmə və dəyişikliklər etməyə imkan verən beş əlaqəli API var.

Aşağıda bu beş API-nin qısa təsviri verilmişdir:

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

Gəlin bu beş API-dən necə istifadə olunacağına daha yaxından nəzər salaq.

0. Gəlin yeni müqavilə bağlayaq SmartX

1. Storage API-dən necə istifadə etmək olar

GetContext və GetReadOnlyContext

GetContext и GetReadOnlyContext cari smart müqavilənin icra olunduğu konteksti əldə edin. Qaytarma dəyəri cari smart müqavilə hashının tərsidir. Adından da göründüyü kimi, GetReadOnlyContext yalnız oxumaq üçün konteksti götürür. Aşağıdakı misalda, qaytarma dəyəri yuxarı sağ küncdə göstərilən müqavilə hashının tərsidir.

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

Qoy

Function Qoy lüğət şəklində blokçeynində məlumatların saxlanmasına cavabdehdir. Göstərildiyi kimi, Qoy üç parametr götürür. GetContext hazırda işləyən ağıllı müqavilənin kontekstini götürür, açar məlumatı saxlamaq üçün lazım olan açarın dəyəridir, dəyər isə saxlanmalı olan məlumatların dəyəridir. Qeyd edək ki, açarın dəyəri artıq mağazadadırsa, funksiya onun müvafiq dəyərini yeniləyəcək.

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Almaq

Function Almaq cari blokçeyndəki məlumatların əsas dəyər vasitəsilə oxunmasına cavabdehdir. Aşağıdakı nümunədə siz funksiyanı yerinə yetirmək üçün sağdakı seçimlər panelində açar dəyərini doldura və blokçeyndəki açar dəyərə uyğun olan məlumatları oxuya bilərsiniz.

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

Sil

Function Sil açar dəyər vasitəsilə blokçeyndəki məlumatların silinməsinə cavabdehdir. Aşağıdakı nümunədə siz sağdakı seçimlər panelində funksiya üçün açar dəyərini doldura və blokçeyndəki əsas dəyərə uyğun olan məlumatları silə bilərsiniz.

Ontology şəbəkəsində Python-da ağıllı müqaviləni necə yazmaq olar. Hissə 2: Storage API

2. Storage API kodu nümunəsi

Aşağıdakı kod beş API-nin istifadəsinə dair ətraflı nümunə verir: GetContext, Get, Put, Delete və GetReadOnlyContext. API məlumatlarını işə salmağa cəhd edə bilərsiniz 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)

Sözündən sonra

Blockchain saxlama bütün blockchain sisteminin əsasını təşkil edir. Ontology Storage API-dən istifadə etmək asandır və tərtibatçılar üçün əlverişlidir.

Digər tərəfdən, yaddaş haker hücumlarının diqqət mərkəzindədir, məsələn, əvvəlki məqalələrdən birində qeyd etdiyimiz təhlükəsizlik təhlükəsi— saxlama injection hücumuTərtibatçılardan yaddaşa aid kod yazarkən təhlükəsizliyə xüsusi diqqət yetirmələri tələb olunur. Tam bələdçimizi saytımızda tapa bilərsiniz Github burada.

Növbəti məqalədə necə istifadə edəcəyimizi müzakirə edəcəyik Runtime API.

Məqalə Hashrate&Shares redaktorları tərəfindən xüsusilə OntologyRussia üçün tərcümə edilmişdir. ağlamaq

Siz tərtibatçısınız? texnoloji icmamıza qoşulun Diskordur. Həmçinin, bir nəzər salın İnkişaf etdirici Mərkəzi Daha çox alətlər, sənədlər və s. üçün ontologiya.

Tərtibatçılar üçün açıq tapşırıqlar. Tapşırığı bağlayın - mükafat alın.

Tətbiq edin tələbələr üçün Ontologiya istedad proqramı üçün

Ontologiya

Ontologiya saytı - Github - Diskordur - Telegram rus dili - Twitter - Reddit

Mənbə: www.habr.com

Добавить комментарий