Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

Þetta er annar hluti í röð fræðslugreina um að búa til snjalla samninga í Python á Ontology blockchain netinu. Í fyrri greininni kynntumst við Blockchain & Block API Verufræði snjall samningur.

Í dag munum við ræða hvernig á að nota seinni eininguna— Geymsla API. Storage API hefur fimm tengd API sem leyfa viðbót, eyðingu og breytingum á viðvarandi geymslu í snjöllum samningum á blockchain.

Hér að neðan er stutt lýsing á þessum fimm API:

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

Við skulum skoða nánar hvernig á að nota þessi fimm API.

0. Búum til nýjan samning SmartX

1. Hvernig á að nota Storage API

GetContext og GetReadOnlyContext

GetContext и GetReadOnlyContext fáðu samhengið sem núverandi snjallsamningur er framkvæmdur í. Skilagildi er andhverfa núverandi snjallsamnings kjötkássa. Eins og nafnið gefur til kynna, GetReadOnlyContext tekur skrifvarið samhengi. Í dæminu hér að neðan er skilagildið andhverfa samnings kjötkássa sem birtist efst í hægra horninu.

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

setja

Virka setja ber ábyrgð á að geyma gögn á blockchain í formi orðabókar. Eins og sýnt er, setja tekur þrjár breytur. GetContext tekur samhengi núverandi snjallsamnings, lykill er gildi lykilsins sem þarf til að vista gögnin og gildi er gildi gagna sem þarf að vista. Athugaðu að ef gildi lykilsins er þegar í versluninni mun aðgerðin uppfæra samsvarandi gildi þess.

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Virka ber ábyrgð á því að lesa gögnin í núverandi blockchain í gegnum lykilgildið. Í dæminu hér að neðan geturðu fyllt út lykilgildið í valmöguleikaborðinu til hægri til að framkvæma aðgerðina og lesa gögnin sem samsvara lykilgildinu í blockchain.

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

eyða

Virka eyða ber ábyrgð á því að eyða gögnum í blockchain í gegnum lykilgildið. Í dæminu hér að neðan geturðu fyllt út lykilgildi aðgerðarinnar í valmöguleikaspjaldinu hægra megin og eytt gögnunum sem samsvara lykilgildinu í blockchain.

Hvernig á að skrifa snjallsamning í Python á Ontology netinu. Part 2: Storage API

2. Dæmi um geymslu API kóða

Kóðinn hér að neðan gefur ítarlegt dæmi um notkun fimm API: GetContext, Get, Put, Delete og GetReadOnlyContext. Þú getur prófað að keyra API gögnin í 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)

Eftirsögn

Blockchain geymsla er kjarninn í öllu blockchain kerfinu. Ontology Storage API er auðvelt í notkun og þróunarvænt.

Aftur á móti er geymsla í brennidepli í tölvuþrjótaárásum, svo sem öryggisógninni sem við nefndum í einni af fyrri greinum— geymslusprautuárásHönnuðir þurfa að huga sérstaklega að öryggi þegar þeir skrifa kóða sem tengist geymslu. Þú getur fundið heildarhandbókina á okkar GitHub hér.

Í næstu grein munum við ræða hvernig á að nota Runtime API.

Greinin var þýdd af ritstjórum Hashrate&Shares sérstaklega fyrir OntologyRussia. smelltu á

Ertu verktaki? Vertu með í tæknisamfélaginu okkar á Discord. Skoðaðu líka Þróunarmiðstöð Verufræði, þú getur fundið fleiri verkfæri, skjöl og margt fleira þar.

Opin verkefni fyrir forritara. Ljúktu við verkefnið og fáðu verðlaun.

Sækja um fyrir Verufræði hæfileikaáætlun fyrir nemendur

Ontology

Heimasíða verufræði - GitHub - Discord - Rússneska símskeyti - twitter - reddit

Heimild: www.habr.com

Bæta við athugasemd