
Questa è la seconda parte di una serie di articoli didattici sulla creazione di smart contract in Python nella rete blockchain Ontology. Nel precedente articolo ci siamo introdotti a smart contract di Ontology.
Oggi discuteremo di come utilizzare il secondo modulo— Storage API. Lo Storage API include cinque API collegate che consentono l'aggiunta, la rimozione e le modifiche nel metastore nei contratti intelligenti sulla blockchain.
Di seguito una breve descrizione di queste cinque API:

Analizziamo più dettagliatamente come utilizzare queste cinque API.
0. Creiamo un nuovo contratto
1. Come utilizzare lo Storage API
GetContext & GetReadOnlyContext
GetContext e GetReadOnlyContext ottiene il contesto in cui viene eseguito l'attuale smart contract. Il valore restituito è l'opposto dell'attuale hash dello smart contract. Come suggerisce il nome, GetReadOnlyContext prende il contesto in sola lettura. Nel seguente esempio, il valore restituito è l'opposto dell'hash del contratto visualizzato nell'angolo in alto a destra.

Put
Funzione Put si occupa della memorizzazione dei dati sulla blockchain in forma di dizionario. Come mostrato, Put accetta tre parametri. GetContext prende il contesto del contratto smart in esecuzione corrente; key è il valore della chiave necessario per salvare i dati, e value è il valore dei dati da salvare. Nota che, se il valore della chiave è già presente nel deposito, la funzione ne aggiornerà il valore corrispondente.

Ottieni
Funzione Ottieni è responsabile della lettura dei dati nel blockchain corrente tramite il valore della chiave. Nell'esempio sottostante, puoi inserire il valore della chiave nel pannello delle opzioni a destra per eseguire la funzione e leggere i dati corrispondenti al valore della chiave nel blockchain.

Elimina
Funzione Elimina è responsabile dell'eliminazione dei dati nel blockchain tramite il valore della chiave. Nell'esempio sottostante, puoi inserire il valore della chiave per eseguire la funzione nel pannello delle opzioni a destra e rimuovere i dati corrispondenti al valore della chiave nel blockchain.

2. Esempio di codice Storage API
Il codice sottostante fornisce un esempio dettagliato dell'uso di cinque API: GetContext, Get, Put, Delete e GetReadOnlyContext. Puoi provare ad eseguire queste API in .
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)Epifania
Lo storage blockchain è il nucleo dell'intero sistema blockchain. L'API di Ontology Storage è facile da usare ed è comoda per gli sviluppatori.
D'altra parte, lo storage è bersaglio di attacchi hacker, come la minaccia alla sicurezza di cui abbiamo parlato in uno dei precedenti articoli— , gli sviluppatori devono prestare particolare attenzione alla sicurezza quando scrivono codice che riguarda lo storage. Puoi trovare la guida completa sul nostro qui.
Nell'articolo successivo discuteremo come usare API di Runtime.
L'articolo è stato tradotto dall'editoria Hashrate&Shares appositamente per OntologyRussia.
Sei uno sviluppatore? Unisciti alla nostra comunità tecnica su . Inoltre, dai un'occhiata a Ontology, dove puoi trovare più strumenti, documentazione e molto altro.
Chiudi il compito — ricevi una ricompensa.
alla programma talenti Ontology per studenti
Ontology
— — — — —
Fonte: habr.com
