Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

Bu, Ontology blockchain ağında Python'da akıllı sözleşmeler oluşturmaya ilişkin bir dizi eğitici makalenin ikinci kısmıdır. Önceki yazımızda tanışmıştık Blockchain ve Blok API'si Ontoloji akıllı sözleşme.

Bugün ikinci modülün nasıl kullanılacağını tartışacağız. Depolama API'sı. Depolama API'si, blok zincirindeki akıllı sözleşmelerde kalıcı depolamaya ekleme, silme ve değişiklik yapılmasına izin veren beş ilgili API'ye sahiptir.

Aşağıda bu beş API'nin kısa bir açıklaması bulunmaktadır:

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

Bu beş API'nin nasıl kullanılacağına daha yakından bakalım.

0. Yeni bir sözleşme oluşturalım SmartX

1. Depolama API'si nasıl kullanılır?

GetContext ve GetReadOnlyContext

Bağlam Getir и GetReadOnlyContext mevcut akıllı sözleşmenin yürütüldüğü bağlamı öğrenin. Dönüş değeri mevcut akıllı sözleşme karma değerinin tersidir. Adından da anlaşılacağı gibi, GetReadOnlyContext salt okunur bağlamı alır. Aşağıdaki örnekte, dönüş değeri sağ üst köşede görüntülenen sözleşme karmasının tersidir.

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

Koymak

Fonksiyon Koymak Verilerin blockchain üzerinde sözlük biçiminde saklanmasından sorumludur. Gosterildigi gibi, Koymak üç parametre alır. Bağlam Getir şu anda çalışan akıllı sözleşmenin bağlamını alır; anahtar, verileri kaydetmek için gereken anahtarın değeridir ve değer, kaydedilmesi gereken verilerin değeridir. Anahtarın değeri zaten depoda bulunuyorsa işlevin karşılık gelen değeri güncelleyeceğini unutmayın.

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'sihashrate-and-shares.ru/images/obzorontology/python/functionput.png

Ön Onay

Fonksiyon Ön Onay Mevcut blok zincirindeki verilerin anahtar değer aracılığıyla okunmasından sorumludur. Aşağıdaki örnekte fonksiyonu yürütmek için sağdaki seçenekler panelindeki anahtar değerini doldurabilir ve blockchaindeki anahtar değere karşılık gelen verileri okuyabilirsiniz.

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

Sil

Fonksiyon Sil anahtar değeri aracılığıyla blok zincirindeki verilerin silinmesinden sorumludur. Aşağıdaki örnekte sağdaki seçenekler panelinde fonksiyona ait anahtar değerini doldurabilir ve blockchaindeki anahtar değerine karşılık gelen verileri silebilirsiniz.

Ontology ağında Python'da akıllı bir sözleşme nasıl yazılır? Bölüm 2: Depolama API'si

2. Depolama API kodu örneği

Aşağıdaki kod beş API'nin kullanımına ilişkin ayrıntılı bir örnek vermektedir: GetContext, Get, Put, Sil ve GetReadOnlyContext. API verilerini çalıştırmayı deneyebilirsiniz 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)

Послесловие

Blockchain depolama, tüm blockchain sisteminin çekirdeğidir. Ontology Storage API'nin kullanımı kolaydır ve geliştirici dostudur.

Öte yandan depolama, önceki makalelerden birinde bahsettiğimiz güvenlik tehdidi gibi hacker saldırılarının odak noktasıdır. depolama enjeksiyon saldırısıGeliştiricilerin depolamayla ilgili kod yazarken güvenliğe özellikle dikkat etmeleri gerekir. Rehberin tamamını sitemizde bulabilirsiniz. GitHub burada.

Bir sonraki yazımızda nasıl kullanılacağını tartışacağız. Çalışma zamanı API'si.

Makale Hashrate&Shares editörleri tarafından özellikle OntologyRussia için tercüme edilmiştir. tıklayın

Bir geliştirici misiniz? adresindeki teknoloji topluluğumuza katılın Discord. Şuna da bakın: Geliştirici Merkezi Ontoloji, burada daha fazla araç, belge ve çok daha fazlasını bulabilirsiniz.

Geliştiriciler için açık görevler. Görevi tamamlayın ve bir ödül kazanın.

Uygulamak öğrencilere yönelik Ontoloji yetenek programı için

Ontoloji

Ontoloji web sitesi - GitHub - Discord - Telgraf Rusça - Twitter - Reddit

Kaynak: habr.com

Yorum ekle