Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

Ini adalah bahagian kedua dalam satu siri artikel pendidikan tentang mencipta kontrak pintar dalam Python pada rangkaian blok Ontology. Dalam artikel sebelum ini kita berkenalan dengannya Blockchain & Block API Kontrak pintar ontologi.

Hari ini kita akan membincangkan cara menggunakan modul keduaβ€” API Storan. API Penyimpanan mempunyai lima API berkaitan yang membenarkan penambahan, pemadaman dan perubahan pada storan berterusan dalam kontrak pintar pada rantaian blok.

Di bawah ialah penerangan ringkas tentang lima API ini:

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

Mari kita lihat lebih dekat cara menggunakan lima API ini.

0. Mari buat kontrak baru SmartX

1. Cara menggunakan API Storan

GetContext & GetReadOnlyContext

GetContext ΠΈ GetReadOnlyContext dapatkan konteks di mana kontrak pintar semasa dilaksanakan. Nilai pulangan ialah songsangan cincang kontrak pintar semasa. Seperti namanya, GetReadOnlyContext mengambil konteks baca sahaja. Dalam contoh di bawah, nilai pulangan ialah songsangan cincang kontrak yang dipaparkan di penjuru kanan sebelah atas.

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

Meletakkan

Fungsi Meletakkan bertanggungjawab untuk menyimpan data pada blockchain dalam bentuk kamus. Seperti yang ditunjukkan, Meletakkan mengambil tiga parameter. GetContext mengambil konteks kontrak pintar yang sedang berjalan, kunci ialah nilai kunci yang diperlukan untuk menyimpan data, dan nilai ialah nilai data yang perlu disimpan. Ambil perhatian bahawa jika nilai kunci sudah ada dalam stor, fungsi akan mengemas kini nilai yang sepadan.

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storanhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Dapatkan

Fungsi Dapatkan bertanggungjawab untuk membaca data dalam blockchain semasa melalui nilai kunci. Dalam contoh di bawah, anda boleh mengisi nilai kunci dalam panel pilihan di sebelah kanan untuk melaksanakan fungsi dan membaca data yang sepadan dengan nilai kunci dalam rantaian blok.

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

Padam

Fungsi Padam bertanggungjawab untuk memadam data dalam blockchain melalui nilai kunci. Dalam contoh di bawah, anda boleh mengisi nilai kunci untuk fungsi dalam panel pilihan di sebelah kanan dan memadam data yang sepadan dengan nilai kunci dalam rantaian blok.

Bagaimana untuk menulis kontrak pintar dalam Python pada rangkaian Ontologi. Bahagian 2: API Storan

2. Contoh kod API storan

Kod di bawah memberikan contoh terperinci penggunaan lima API: GetContext, Get, Put, Delete dan GetReadOnlyContext. Anda boleh cuba menjalankan data API dalam 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)

afterword

Storan rantaian blok adalah teras kepada keseluruhan sistem rantaian blok. API Penyimpanan Ontologi mudah digunakan dan mesra pembangun.

Sebaliknya, storan ialah tumpuan serangan penggodam, seperti ancaman keselamatan yang kami nyatakan dalam salah satu artikel sebelumnyaβ€” serangan suntikan simpananPembangun dikehendaki memberi perhatian khusus kepada keselamatan semasa menulis kod yang berkaitan dengan storan. Anda boleh mendapatkan panduan lengkap di kami GitHub здСсь.

Dalam artikel seterusnya kita akan membincangkan cara menggunakan API masa jalan.

Artikel tersebut telah diterjemahkan oleh editor Hashrate&Shares khas untuk OntologyRussia. menangis

Adakah anda seorang pemaju? Sertai komuniti teknologi kami di Perpecahan. Juga, lihat Pusat Pembangun Ontologi, anda boleh menemui lebih banyak alat, dokumentasi dan banyak lagi di sana.

Tugas terbuka untuk pembangun. Selesaikan tugas dan dapatkan ganjaran.

Memohon untuk program bakat Ontologi untuk pelajar

Ontologi

laman web ontologi - GitHub - Perpecahan - Telegram Rusia - Twitter - Reddit

Sumber: www.habr.com

Tambah komen