Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

Esta é a segunda parte dunha serie de tutoriais sobre a creación de contratos intelixentes en Python na rede Ontology blockchain. No artigo anterior coñecémonos Blockchain e Block API Ontoloxía de contrato intelixente.

Hoxe discutiremos como usar o segundo módulo: API de almacenamento. A API de almacenamento ten cinco API asociadas que permiten engadir, eliminar e modificar o almacenamento persistente en contratos intelixentes na cadea de bloques.

A continuación móstrase unha breve descrición destas cinco API:

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

Vexamos máis de cerca como usar estas cinco API.

0. Imos crear un novo contrato SmartX

1. Como usar a API de almacenamento

GetContext e GetReadOnlyContext

GetContext и GetReadOnlyContext obter o contexto no que se executa o contrato intelixente actual. O valor de retorno é o recíproco do hash actual do contrato intelixente. Como o nome indica, GetReadOnlyContext toma un contexto de modo só lectura. No seguinte exemplo, o valor de retorno é o reverso do hash do contrato que se mostra na esquina superior dereita.

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

Poñer

Función Poñer encárgase de almacenar os datos na cadea de bloques en forma de dicionario. Como se mostra, Poñer toma tres parámetros. GetContext toma o contexto do contrato intelixente que se está a executar actualmente, a clave é o valor clave que se necesita para gardar os datos e o valor é o valor dos datos que se deben gardar. Teña en conta que se o valor da clave xa está na tenda, a función actualizará o seu valor correspondente.

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamentohashrate-and-shares.ru/images/obzorontology/python/functionput.png

Obter

Función Obter encárgase de ler os datos da cadea de bloques actual a través do valor clave. No seguinte exemplo, pode encher o valor da clave no panel de opcións da dereita para executar a función e ler os datos correspondentes ao valor da clave na cadea de bloques.

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

Borrar

Función Borrar é responsable de eliminar os datos da cadea de bloques a través do valor da chave. No seguinte exemplo, pode encher o valor da clave para a función no panel de opcións da dereita e eliminar os datos correspondentes ao valor da clave na cadea de bloques.

Como escribir un contrato intelixente en Python na rede Ontology. Parte 2: API de almacenamento

2. Exemplo de código API de almacenamento

O código a continuación ofrece un exemplo detallado do uso de cinco API: GetContext, Get, Put, Delete e GetReadOnlyContext. Podes probar a executar os datos da API 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)

Posterior

O almacenamento blockchain é o núcleo de todo o sistema blockchain. A API de Ontology Storage é fácil de usar e amigable para desenvolvedores.

Por outra banda, o almacenamento é o foco dos ataques de piratas informáticos, como a ameaza á seguridade que mencionamos nun dos artigos anteriores— ataque de inxección de almacenamento, os desenvolvedores están obrigados a prestar especial atención á seguridade ao escribir código relacionado co repositorio. Podes atopar a guía completa na nosa web GitHub здесь.

No seguinte artigo discutiremos como usalo API de execución.

O artigo foi traducido polos editores de Hashrate&Shares especialmente para OntologyRussia. chorar

Vostede é un programador? Únete á nosa comunidade tecnolóxica en Discordia. Ademais, bótalle un ollo Centro de Desenvolvedores Ontoloxía para obter máis ferramentas, documentación e moito máis.

Tarefas abertas para desenvolvedores. Pecha a tarefa: obtén unha recompensa.

Solicitar para o programa de talento Ontology para estudantes

Ontoloxía

Páxina web de ontoloxía - GitHub - Discordia - Telegram ruso - chilro - Reddit

Fonte: www.habr.com

Engadir un comentario