ProHoster > Blog > Pentadbiran > 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:
Mari kita lihat lebih dekat cara menggunakan lima API ini.
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.
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.
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.
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.
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.