Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

Tämä on toinen osa opetusartikkeleiden sarjassa älykkäiden sopimusten luomisesta Pythonissa Ontology-lohkoketjuverkostossa. Edellisessä artikkelissa tutustuimme Blockchain & Block API Ontologian älykäs sopimus.

Tänään keskustelemme toisen moduulin käytöstä - Tallennussovellusliittymä. Storage API:lla on viisi toisiinsa liittyvää API:ta, jotka mahdollistavat lisäämisen, poistamisen ja jatkuvan tallennustilan muuttamisen lohkoketjun älykkäissä sopimuksissa.

Alla on lyhyt kuvaus näistä viidestä API:sta:

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

Katsotaanpa tarkemmin, kuinka näitä viittä sovellusliittymää käytetään.

0. Tehdään uusi sopimus SmartX

1. Storage API:n käyttäminen

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext saada konteksti, jossa nykyinen älykäs sopimus toteutetaan. Palautusarvo on nykyisen älykkään sopimuksen hajautusarvon käänteisarvo. Kuten nimestä voi päätellä, GetReadOnlyContext ottaa vain luku -kontekstin. Alla olevassa esimerkissä palautusarvo on oikeassa yläkulmassa näkyvän sopimuksen tiivisteen käänteisarvo.

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

Laittaa

Toiminto Laittaa on vastuussa tietojen tallentamisesta lohkoketjuun sanakirjan muodossa. Kuten on esitetty, Laittaa ottaa kolme parametria. GetContext ottaa nykyisen älykkään sopimuksen kontekstin, avain on avaimen arvo, jota tarvitaan tietojen tallentamiseen, ja arvo on tallennettavien tietojen arvo. Huomaa, että jos avaimen arvo on jo varastossa, toiminto päivittää vastaavan arvon.

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Saada

Toiminto Saada on vastuussa nykyisen lohkoketjun tietojen lukemisesta avainarvon kautta. Alla olevassa esimerkissä voit täyttää avainarvon oikealla olevaan asetuspaneeliin suorittaaksesi toiminnon ja lukeaksesi lohkoketjun avainarvoa vastaavat tiedot.

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

Poista

Toiminto Poista on vastuussa tietojen poistamisesta lohkoketjussa avainarvon kautta. Alla olevassa esimerkissä voit täyttää funktion avainarvon oikealla olevaan asetuspaneeliin ja poistaa avainarvoa vastaavat tiedot lohkoketjusta.

Kuinka kirjoittaa älykäs sopimus Pythonissa ontologiaverkossa. Osa 2: Storage API

2. Storage API -koodiesimerkki

Alla oleva koodi antaa yksityiskohtaisen esimerkin viiden API:n käytöstä: GetContext, Get, Put, Delete ja GetReadOnlyContext. Voit yrittää ajaa API-tiedot sisään 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)

loppusanat

Blockchain-tallennus on koko lohkoketjujärjestelmän ydin. Ontology Storage API on helppokäyttöinen ja kehittäjäystävällinen.

Toisaalta tallennus on hakkerihyökkäysten painopiste, kuten turvallisuusuhka, jonka mainitsimme yhdessä aiemmista artikkeleista. varastointiinjektiohyökkäysKehittäjien tulee kiinnittää erityistä huomiota turvallisuuteen kirjoittaessaan tallennustilaan liittyvää koodia. Löydät täydellisen oppaan sivuiltamme GitHub täällä.

Seuraavassa artikkelissa keskustelemme käytöstä Runtime API.

Hashrate&Sharesin toimittajat käänsivät artikkelin erityisesti OntologyRussialle. napsauttaa

Oletko kehittäjä? Liity tekniikkayhteisöömme osoitteessa Epäsopu. Katso myös Kehittäjäkeskus Ontologiasta löydät lisää työkaluja, dokumentaatiota ja paljon muuta.

Avoimet tehtävät kehittäjille. Suorita tehtävä ja saat palkinnon.

Käytä opiskelijoiden ontologian lahjakkuusohjelmaa varten

Ontologia

Ontologian verkkosivusto - GitHub - Epäsopu - Telegram venäjäksi - Twitter - Reddit

Lähde: will.com

Lisää kommentti