ProHoster > Blog > yönetim > 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:
Bu beş API'nin nasıl kullanılacağına daha yakından bakalım.
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.
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.
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.
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.
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.