
Esta es la segunda parte de una serie de artículos educativos sobre la creación de contratos inteligentes en Python en la red blockchain de Ontology. En el artículo anterior, nos familiarizamos con el contrato inteligente de Ontology.
Hoy discutiremos cómo usar el segundo módulo— Storage API. El Storage API tiene cinco API relacionadas que permiten la adición, eliminación y modificación en el almacenamiento permanente en contratos inteligentes en la blockchain.
A continuación, un breve resumen de estas cinco API:

Vamos a profundizar en cómo usar estas cinco API.
0. Crearemos un nuevo contrato
1. Cómo usar el Storage API
GetContext & GetReadOnlyContext
GetContext y GetReadOnlyContext obtienen el contexto en el que se ejecuta el contrato inteligente actual. El valor de retorno es el hash inverso del contrato inteligente actual. Como su nombre indica, GetReadOnlyContext toma el contexto en modo solo lectura. En el ejemplo a continuación, el valor de retorno es el hash inverso del contrato que se muestra en la esquina superior derecha.

Put
La función Put es responsable de almacenar datos en la blockchain en forma de diccionario. Como se muestra, Put acepta tres parámetros. GetContext toma el contexto del contrato inteligente que se está ejecutando actualmente, key es el valor de la clave que se necesita para almacenar datos, y value es el valor de los datos que se deben almacenar. Tenga en cuenta que, si el valor de la clave ya está en el almacenamiento, la función actualizará su valor correspondiente.

Get
La función Get es responsable de leer datos en la blockchain actual mediante el valor de la clave. En el ejemplo a continuación, puede rellenar el valor de la clave en el panel de parámetros de la derecha para ejecutar la función y leer los datos correspondientes al valor de la clave en la blockchain.

Eliminar
La función Eliminar es responsable de eliminar datos en la blockchain mediante el valor de la clave. En el ejemplo a continuación, puede llenar el valor de la clave para ejecutar la función en el panel de parámetros de la derecha y eliminar los datos correspondientes al valor de la clave en la blockchain.

2. Ejemplo de código de Storage API
El siguiente código proporciona un ejemplo detallado de uso de las cinco API: GetContext, Get, Put, Delete y GetReadOnlyContext. Puede intentar ejecutar estas API en .
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)Póscrito
El almacenamiento en blockchain es el núcleo de todo el sistema blockchain. La API de Almacenamiento de Ontology es fácil de usar y conveniente para los desarrolladores.
Por otro lado, el almacenamiento es el foco de los ataques de los hackers, como la amenaza de seguridad que mencionamos en uno de los artículos anteriores— , los desarrolladores deben prestar especial atención a la seguridad al escribir código relacionado con el almacenamiento. Puede encontrar una guía completa en nuestro aquí.
En el siguiente artículo, discutiremos cómo utilizar Runtime API.
El artículo fue traducido por el equipo de Hashrate&Shares especialmente para OntologyRussia.
¿Eres desarrollador? Únete a nuestra comunidad técnica en . Además, echa un vistazo al Ontology, ahí se pueden encontrar más herramientas, documentación y mucho más.
Cierra la tarea — recibe una recompensa.
para el programa de talentos de Ontology para estudiantes
Ontology
— — — — —
Fuente: habr.com
