Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

Šis ir otrais raksts no mācību rakstu sērijas par viedkontraktu izveidošanu Python valodā Ontology blokķēdes tīklā. Iepriekšējā rakstā mēs iepazināmies ar Blokķēde & Bloka API viedkontraktu Ontology.

Šodien mēs apspriedīsim, kā izmantot otro moduli— Krātuves API. Storage API ietver piecus saistītus API, kas ļauj pievienot, dzēst un mainīt datus pastāvīgajā krātuvē viedkontraktos blokķēdē.

Zemāk ir īss šo piecu API apraksts:

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

Paskatīsimies sīkāk, kā izmantot šos piecus API.

0. Izveidosim jaunu kontraktu SmartX

1. Kā izmantot Storage API

GetContext & GetReadOnlyContext

GetContext un GetReadOnlyContext iegūst kontekstu, kurā tiek izpildīts pašreizējais viedkontrakts. Atgrieztā vērtība ir pretēja pašreizējam viedkontrakta hash. Kā norādīts nosaukumā, GetReadOnlyContext iegūst tikai lasāmo režīmu. Apakšējā piemērā atgrieztā vērtība ir pretējs kontrakta hash, kas parādīts augšējā labajā stūrī.

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

Put

Funkcija Put ir atbildīgs par datu glabāšanu blokķēdē vārdnīcas formā. Kā redzams, Put tas pieņem trīs parametrus. GetContext ņem kontekstu no pašreizējā izpildāmā viedkontrakta, key— tas ir atslēgas vērtība, ko nepieciešams glabāt, un value— tas ir datu vērtība, ko nepieciešams glabāt. Lūdzu, ņemiet vērā, ja atslēgas vērtība jau atrodas krātuvē, funkcija atjauninās tās atbilstošo vērtību.

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

Funkcija Get ir atbildīgs par datu lasīšanu pašreizējā blokķēdē, izmantojot atslēgas vērtību. Apakšējā piemērā jūs varat aizpildīt atslēgas vērtību labajā pusē esošajā parametru panelī, lai veiktu funkciju un nolasītu datus, kas atbilst atslēgas vērtībai blokķēdē.

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

Dzēst

Funkcija Dzēst ir atbildīgs par datu dzēšanu blokķēdē, izmantojot atslēgas vērtību. Apakšējā piemērā jūs varat aizpildīt atslēgas vērtību, lai veiktu funkciju labajā pusē esošajā parametru panelī un dzēstu datus, kas atbilst atslēgas vērtībai blokķēdē.

Kā uzrakstīt viedlīgumu Python valodā Ontology tīklā. 2. daļa: Storage API

2. Storage API koda piemērs

Apakšējais kods sniedz detalizētu piemēru piecu API izmantošanai: GetContext, Get, Put, Delete un GetReadOnlyContext. Jūs varat izmēģināt šos API. SmartX.

no ontology.interop.System.Storage import GetContext, Get, Put, Delete, GetReadOnlyContext
no 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)

Pēcvārds

Blokķēdes glabātuve ir visu blokķēdes sistēmu centrs. Ontology Storage API ir vienkārši lietojams un ērts izstrādātājiem.

No otras puses, uz glabātuves ir koncentrētas hakeru uzbrukumi, piemēram, drošības apdraudējums, par kuru mēs pieminējām vienā no iepriekšējām rakstiem— glabātuves injekcijas uzbrukums, izstrādātājiem jāpiešķir īpaša uzmanība drošībai, rakstot kodu, kas saistīts ar glabātuvi. Jūs varat atrast pilnu rokasgrāmatu mūsu GitHub šeit.

Nākamajā rakstā mēs apspriedīsim, kā izmantot Izpildes API.

Raksts ir pārtulkots Hashrate&Shares redakcijas speciāli OntologyRussia. klikšķiniet

Vai jūs esat izstrādātājs? Pievienojieties mūsu tehniskajai kopienai Discord. Turklāt ieskatieties Izstrādātāju centrā Ontology, kur var atrast vairāk rīku, dokumentāciju un daudz ko citu.

Atvērtas uzdevumi izstrādātājiem. Aizver uzdevumu — saņem atlīdzību.

Pieteikties uz Ontology talantu programmu studentiem

Ontology

Ontology mājaslapā — GitHub — Discord — Telegram Krievu — Twitter — Reddit

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster