Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

Iki minangka bagean kapindho saka seri artikel pendidikan babagan nggawe kontrak cerdas ing Python ing jaringan blockchain Ontology. Ing artikel sadurunge kita kenal Blockchain & Block API Kontrak pinter Ontologi.

Dina iki kita bakal ngrembug babagan carane nggunakake modul kapindho- API panyimpenan. API Panyimpenan nduweni limang API sing gegandhengan sing ngidini tambahan, mbusak, lan owah-owahan kanggo panyimpenan sing terus-terusan ing kontrak cerdas ing pamblokiran.

Ing ngisor iki ana katrangan ringkes babagan limang API kasebut:

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

Ayo dideleng kanthi cetha babagan carane nggunakake limang API kasebut.

0. Ayo nggawe kontrak anyar SmartX

1. Carane nggunakake API Storage

GetContext & GetReadOnlyContext

GetContext ΠΈ GetReadOnlyContext entuk konteks sing kontrak pinter saiki dileksanakake. Nilai bali minangka kebalikan saka hash kontrak cerdas saiki. Kaya jenenge, GetReadOnlyContext njupuk konteks mung diwaca. Ing conto ing ngisor iki, nilai bali minangka kebalikan saka hash kontrak sing ditampilake ing pojok sisih ndhuwur.

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

sijine

fungsi sijine tanggung jawab kanggo nyimpen data ing blockchain ing wangun kamus. Kaya sing dituduhake, sijine njupuk telung paramèter. GetContext njupuk konteks saka kontrak pinter saiki mlaku, tombol punika Nilai saka tombol sing perlu kanggo nyimpen data, lan nilai punika Nilai saka data sing kudu disimpen. Elinga yen nilai kunci wis ana ing toko, fungsi kasebut bakal nganyari nilai sing cocog.

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

njaluk

fungsi njaluk tanggung jawab kanggo maca data ing blockchain saiki liwat nilai tombol. Ing conto ing ngisor iki, sampeyan bisa ngisi nilai kunci ing panel pilihan ing sisih tengen kanggo nglakokake fungsi kasebut lan maca data sing cocog karo nilai kunci ing pamblokiran.

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

Busak

fungsi Busak tanggung jawab kanggo mbusak data ing blockchain liwat nilai tombol. Ing conto ing ngisor iki, sampeyan bisa ngisi nilai kunci kanggo fungsi kasebut ing panel pilihan ing sisih tengen lan mbusak data sing cocog karo nilai kunci ing pamblokiran.

Carane nulis kontrak pinter ing Python ing jaringan Ontologi. Part 2: Storage API

2. Panyimpenan conto kode API

Kode ing ngisor iki menehi conto rinci babagan panggunaan limang API: GetContext, Get, Put, Delete lan GetReadOnlyContext. Sampeyan bisa nyoba mbukak data API ing 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

Panyimpenan blockchain minangka inti saka kabeh sistem pamblokiran. Ontology Storage API gampang digunakake lan pangembang-loropaken.

Ing sisih liya, panyimpenan minangka fokus serangan peretas, kayata ancaman keamanan sing wis kasebut ing salah sawijining artikel sadurunge- serangan injeksi panyimpenanPangembang kudu menehi perhatian khusus marang keamanan nalika nulis kode sing ana hubungane karo panyimpenan. Sampeyan bisa nemokake pandhuan lengkap ing kita GitHub kene.

Ing artikel sabanjure, kita bakal ngrembug babagan cara nggunakake Runtime API.

Artikel kasebut diterjemahake dening editor Hashrate&Shares utamane kanggo OntologyRussia. nangis

Apa sampeyan pangembang? Gabung komunitas teknologi kita ing Discord. Uga, njupuk dipikir ing Pusat Pangembang Ontologi, sampeyan bisa nemokake luwih akeh alat, dokumentasi lan liya-liyane.

Mbukak tugas kanggo pangembang. Rampungake tugas lan entuk ganjaran.

Nglamar kanggo program bakat Ontologi kanggo siswa

Ontologi

Situs web ontologi - GitHub - Discord - Telegram Inggris - Twitter - Reddit

Source: www.habr.com

Add a comment