Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

C'est la deuxiÚme partie d'une série d'articles didactiques sur la création de contrats intelligents en Python sur le réseau blockchain Ontology. Dans l'article précédent, nous avons découvert Blockchain & Block API le contrat intelligent Ontology.

Aujourd'hui, nous allons discuter de la façon d'utiliser le deuxiĂšme module— Storage API. Le Storage API comprend cinq API associĂ©es qui permettent l'ajout, la suppression et les modifications dans un stockage permanent pour les contrats intelligents sur la blockchain.

Voici un bref aperçu de ces cinq API :

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

Examinons plus en détail comment utiliser ces cinq API.

0. Créons un nouveau contrat SmartX

1. Comment utiliser le Storage API

GetContext & GetReadOnlyContext

GetContext et GetReadOnlyContext obtiennent le contexte dans lequel le contrat intelligent actuel est exécuté. La valeur de retour est l'inverse du hachage actuel du contrat intelligent. Comme son nom l'indique, GetReadOnlyContext obtient le contexte en mode lecture seule. Dans l'exemple ci-dessous, la valeur de retour est l'inverse du hachage du contrat affiché dans le coin supérieur droit.

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

Put

Fonction Put est responsable du stockage des donnĂ©es sur la blockchain sous forme de dictionnaire. Comme indiquĂ©, Put elle prend trois paramĂštres. GetContext elle prend le contexte du contrat intelligent actuellement exĂ©cutĂ©, key—c'est la valeur de la clĂ© qu'il faut utiliser pour stocker les donnĂ©es, et value—c'est la valeur des donnĂ©es Ă  stocker. Notez que si la valeur de la clĂ© est dĂ©jĂ  dans le stockage, la fonction mettra Ă  jour la valeur correspondante.

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockagehashrate-and-shares.ru/images/obzorontology/python/functionput.png

Get

Fonction Get est responsable de la lecture des données sur la blockchain actuelle via la valeur de la clé. Dans l'exemple ci-dessous, vous pouvez remplir la valeur de la clé dans le panneau de paramÚtres à droite pour exécuter la fonction et lire les données correspondant à la valeur de la clé sur la blockchain.

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

Supprimer

Fonction Supprimer est responsable de la suppression des données sur la blockchain via la valeur de la clé. Dans l'exemple ci-dessous, vous pouvez remplir la valeur de la clé pour exécuter la fonction dans le panneau de paramÚtres à droite et supprimer les données correspondant à la valeur de la clé sur la blockchain.

Comment rédiger un smart contract en Python sur le réseau Ontology. Partie 2 : API de stockage

2. Exemple de code Storage API

Le code ci-dessous donne un exemple détaillé de l'utilisation des cinq API : GetContext, Get, Put, Delete et GetReadOnlyContext. Vous pouvez essayer d'exécuter ces API dans 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)

Postface

Le stockage blockchain est le cƓur de tout systĂšme blockchain. L'API Ontology Storage est simple Ă  utiliser et conviviale pour les dĂ©veloppeurs.

D'un autre cĂŽtĂ©, le stockage est la cible des attaques des hackers, par exemple, la menace de sĂ©curitĂ© que nous avons mentionnĂ©e dans un des articles prĂ©cĂ©dents— attaque par injection dans le stockage, les dĂ©veloppeurs doivent porter une attention particuliĂšre Ă  la sĂ©curitĂ© lors de l'Ă©criture de code liĂ© au stockage. Vous pouvez trouver le guide complet sur notre GitHub ici.

Dans le prochain article, nous discuterons de l'utilisation de API d'exécution.

Cet article a été traduit par l'équipe de Hashrate & Shares spécialement pour OntologyRussia. cliquer

Vous ĂȘtes dĂ©veloppeur ? Rejoignez notre communautĂ© technique sur Discord. De plus, jetez un coup d'Ɠil Ă  Centre des dĂ©veloppeurs Ontology, oĂč vous pouvez trouver plus d'outils, de la documentation et bien plus encore.

TĂąches ouvertes pour les dĂ©veloppeurs. Fermez la tĂąche — recevez une rĂ©compense.

Postuler au programme des talents Ontology pour les étudiants.

Ontology

site Ontology — GitHub — Discord — Telegram Russe — Twitter — Reddit

Source : habr.com

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster