ProHoster > Blogi > antaminen > 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:
Katsotaanpa tarkemmin, kuinka näitä viittä sovellusliittymää käytetään.
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.
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.
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.
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.
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.