Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

Dit is die tweede deel van 'n reeks tutoriale oor die skep van slim kontrakte in Python op die Ontology blockchain-netwerk. In die vorige artikel het ons ontmoet Blockchain & Block API slim kontrak Ontologie.

Vandag sal ons bespreek hoe om die tweede module te gebruikβ€” Berging API. Die Storage API het vyf geassosieerde API's wat die byvoeging, verwydering en wysiging van volgehoue ​​berging in slim kontrakte op die blokketting moontlik maak.

Hieronder is 'n kort beskrywing van hierdie vyf API's:

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

Kom ons kyk van naderby na hoe om hierdie vyf API's te gebruik.

0. Kom ons skep 'n nuwe kontrak SmartX

1. Hoe om die berging-API te gebruik

GetContext & GetReadOnlyContext

GetContext ΠΈ GetRead OnlyContext kry die konteks waarin die huidige slim kontrak uitgevoer word. Die opbrengswaarde is die wederkerige van die huidige hash van die slim kontrak. Soos die naam aandui, GetRead OnlyContext neem 'n leesalleen-moduskonteks. In die voorbeeld hieronder is die terugkeerwaarde die omgekeerde van die kontrak-hash wat in die regter boonste hoek vertoon word.

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

sit

Funksie sit is verantwoordelik vir die stoor van data op die blokketting in die vorm van 'n woordeboek. Soos aangedui, sit neem drie parameters. GetContext neem die konteks van die slim kontrak wat tans uitgevoer word, sleutel is die sleutelwaarde wat nodig is om die data te stoor, en waarde is die waarde van die data wat gestoor moet word. Let daarop dat as die waarde van die sleutel reeds in die winkel is, sal die funksie sy ooreenstemmende waarde bywerk.

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

kry

Funksie kry is verantwoordelik vir die lees van die data in die huidige blokketting deur die sleutelwaarde. In die voorbeeld hieronder kan u die sleutelwaarde in die opsiepaneel aan die regterkant invul om die funksie uit te voer en die data te lees wat ooreenstem met die sleutelwaarde in die blokketting.

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

verwyder

Funksie verwyder is verantwoordelik vir die verwydering van data in die blokketting deur die sleutelwaarde. In die voorbeeld hieronder kan u die sleutelwaarde vir die funksie in die opsiepaneel aan die regterkant invul en die data wat ooreenstem met die sleutelwaarde in die blokketting uitvee.

Hoe om 'n slim kontrak in Python op die Ontologie-netwerk te skryf. Deel 2: Berging API

2. Berging API kode voorbeeld

Die kode hieronder gee 'n gedetailleerde voorbeeld van die gebruik van vyf API's: GetContext, Get, Put, Delete en GetReadOnlyContext. Jy kan probeer om die API-data in te voer 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)

nawoord

Blockchain-berging is die kern van die hele blokkettingstelsel. Die Ontology Storage API is maklik om te gebruik en ontwikkelaarvriendelik.

Aan die ander kant is berging die fokus van hacker-aanvalle, soos die sekuriteitsbedreiging wat ons in een van die vorige artikels genoem hetβ€” stoor inspuiting aanval, word van ontwikkelaars verwag om spesiale aandag aan sekuriteit te gee wanneer kode geskryf word wat verband hou met die bewaarplek. U kan die volledige gids op ons vind GitHub hier.

In die volgende artikel sal ons bespreek hoe om te gebruik Runtime API.

Die artikel is veral vir OntologyRussia deur die redakteurs van Hashrate&Shares vertaal. ΠΊΠ»ΠΈΠΊ

Is jy 'n ontwikkelaar? Sluit aan by ons tegnologie-gemeenskap by Onenigheid. Kyk ook na Ontwikkelaarsentrum Ontologie vir meer gereedskap, dokumentasie en meer.

Oop take vir ontwikkelaars. Maak die taak toe - kry 'n beloning.

Pas toe vir die Ontologie-talentprogram vir studente

Ontologie

Ontologie webwerf - GitHub - Onenigheid - Telegram Russies - Twitter - reddit

Bron: will.com

Voeg 'n opmerking