Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

See on teise osa artiklisarjast, mis kÀsitleb nutikaleppe loomist Pythonis Ontology plokiahelas. Eelmises artiklis tutvusime Blockchain & Block API Ontology nutilepinguga.

TĂ€na arutame, kuidas kasutada teist moodulit— Storage API. Storage API-l on viis omavahel seotud API-d, mis vĂ”imaldavad andmete lisamist, kustutamist ja muutmist nutilepingute jÀÀkvĂ€ljade puhul plokiahelas.

Allpool on lĂŒhikirjeldus nendest viiest API-st:

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

Vaatame lÀhemalt, kuidas neid viit API-d kasutataks.

0. Loo uus leping SmartX

1. Kuidas kasutada Storage API-d

GetContext & GetReadOnlyContext

GetContext ja GetReadOnlyContext saavad konteksti, milles praegune nutileping toimub. TagastusvÀÀrtus on nutilepingu praeguse hash'i vastand. Nagu nimi viitab, GetReadOnlyContext vĂ”tab konteksti ainult lugemise reĆŸiimis. Allpool toodud nĂ€ites on tagastusvÀÀrtus vastand lepingule, mis kuvatakse paremas ĂŒlanurgas.

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

Put

Function Put vastutab andmete salvestamise eest plokiahelas sĂ”nastiku kujul. Nagu nĂ€ha, Put vĂ”tab see kolm parameetrit. GetContext saab konteksti praegu teostatud nutilepingust, key— see on vĂ”tme vÀÀrtus, mida on vaja andmete salvestamiseks, ja value— see on andmete vÀÀrtus, mida tuleb salvestada. Pange tĂ€hele, et kui vĂ”tme vÀÀrtus on juba salvestuses olemas, siis funktsioon vĂ€rskendab vastavat vÀÀrtust.

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

Function Get vastutab andmete lugemise eest praeguses plokiahelas vÔtme vÀÀrtuse kaudu. Allpool olevas nÀites vÔite tÀita vÔtme vÀÀrtust paremal olnud parameetrite paneelis, et tÀita funktsiooni ja lugeda andmeid, mis vastavad vÔtme vÀÀrtusele plokiahelas.

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

Delete

Function Delete vastutab andmete kustutamise eest plokiahelas vÔtme vÀÀrtuse kaudu. Allpool olevas nÀites vÔite tÀita vÔtme vÀÀrtust paremal olnud parameetrite paneelis, et tÀita funktsiooni ja kustutada andmeid, mis vastavad vÔtme vÀÀrtusele plokiahelas.

Kuidas kirjutada nutilepingut Pythonis Ontology vÔrgus. Osa 2: Storage API

2. Storage API koodinÀide

Allpool olev kood annab ĂŒksikasjaliku nĂ€ite nende viie API kasutamisest: GetContext, Get, Put, Delete ja GetReadOnlyContext. Saate proovida kasutada neid API-sid 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)

JÀrelsÔna

Plokiahela salvestus on kogu plokiahelasĂŒsteemi tuumik. Ontology Storage API on lihtne kasutada ja arendajatele mugav.

Teiselt poolt, rĂŒndavad kurjategijad sageli salvestust, nĂ€iteks turvaoht, millest rÀÀkisime ĂŒhes eelnevas artiklis— storage injection attack, seega peavad arendajad pöörama erilist tĂ€helepanu turvalisusele, kirjutades koodi, mis on seotud salvestusega. TĂ€ielikku juhendit leiate meie GitHub siit.

JĂ€rgmises artiklis arutame, kuidas kasutada Runtime API.

Artikkel on tÔlgitud Hashrate&Shares toimetuse poolt spetsiaalselt OntologyRussia jaoks. klik

Kas oled arendaja? Liitu meie tehnilise kogukonnaga Discord. Lisaks vaadake Arendajate keskus Ontology, kus leiate rohkem tööriistu, dokumentatsiooni ja palju muud.

Avatud arendustööd. Sulge ĂŒlesanne — saa tasu.

Kandideeri Ontology Talent Programmi ridadesse ĂŒliĂ”pilastele

Ontology

Ontology veebisait — GitHub — Discord — Telegrami venekeelne grupp — Twitter — Reddit

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster