Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

Detta är den andra delen i en serie pedagogiska artiklar om att skapa smarta kontrakt i Python på Ontology blockchain-nätverket. I förra artikeln stiftade vi bekantskap med Blockchain & Block API Ontologi smart kontrakt.

Idag kommer vi att diskutera hur man använder den andra modulen— Lagrings-API. Storage API har fem relaterade API:er som tillåter tillägg, radering och ändringar av beständig lagring i smarta kontrakt på blockkedjan.

Nedan följer en kort beskrivning av dessa fem API:er:

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

Låt oss ta en närmare titt på hur man använder dessa fem API:er.

0. Låt oss skapa ett nytt kontrakt SmartX

1. Hur man använder Storage API

GetContext & GetReadOnlyContext

GetContext и GetReadOnlyContext få det sammanhang i vilket det aktuella smarta kontraktet exekveras. Returvärdet är inversen av den nuvarande smarta kontraktshashen. Som namnet antyder, GetReadOnlyContext tar det skrivskyddade sammanhanget. I exemplet nedan är returvärdet inversen av kontraktshashen som visas i det övre högra hörnet.

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

Sätta

Funktion Sätta ansvarar för att lagra data på blockkedjan i form av en ordbok. Som visat, Sätta tar tre parametrar. GetContext tar kontexten av det smarta kontraktet som för närvarande körs, nyckel är värdet på nyckeln som behövs för att spara data och värde är värdet på data som behöver sparas. Observera att om nyckelns värde redan finns i butiken kommer funktionen att uppdatera motsvarande värde.

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Skaffa sig

Funktion Skaffa sig ansvarar för att läsa data i den aktuella blockkedjan genom nyckelvärdet. I exemplet nedan kan du fylla i nyckelvärdet i alternativpanelen till höger för att utföra funktionen och läsa data som motsvarar nyckelvärdet i blockkedjan.

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

Radera

Funktion Radera ansvarar för att radera data i blockkedjan genom nyckelvärdet. I exemplet nedan kan du fylla i nyckelvärdet för funktionen i alternativpanelen till höger och radera data som motsvarar nyckelvärdet i blockkedjan.

Hur man skriver ett smart kontrakt i Python på ontologinätverket. Del 2: Storage API

2. Exempel på lagrings-API-kod

Koden nedan ger ett detaljerat exempel på användningen av fem API:er: GetContext, Get, Put, Delete och GetReadOnlyContext. Du kan prova att köra API-data i 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)

efterordet

Blockchain-lagring är kärnan i hela blockchain-systemet. Ontology Storage API är lätt att använda och utvecklarvänligt.

Å andra sidan är lagring i fokus för hackerattacker, till exempel säkerhetshotet som vi nämnde i en av de tidigare artiklarna— lagringsinjektionsattackUtvecklare måste ägna särskild uppmärksamhet åt säkerheten när de skriver kod som relaterar till lagring. Du hittar hela guiden på vår GitHub här.

I nästa artikel kommer vi att diskutera hur man använder Runtime API.

Artikeln översattes av redaktörerna för Hashrate&Shares speciellt för OntologyRussia. gråta

Är du en utvecklare? Gå med i vår tekniska community på Discord. Ta också en titt på Utvecklarcenter Ontologi, du kan hitta fler verktyg, dokumentation och mycket mer där.

Öppna uppgifter för utvecklare. Slutför uppgiften och få en belöning.

Tillämpa för talentprogrammet Ontology för studenter

Ontologi

Ontologi webbplats - GitHub - Discord - Telegram ryska - Twitter - reddit

Källa: will.com

Lägg en kommentar