So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

Dies ist der zweite Teil einer Reihe von Lehrartikeln zum Erstellen intelligenter Verträge in Python im Ontology-Blockchain-Netzwerk. Im vorherigen Artikel haben wir uns kennengelernt Blockchain- und Block-API Ontologie-Smart-Vertrag.

Heute besprechen wir die Verwendung des zweiten Moduls: Speicher-API. Die Storage-API verfügt über fünf verwandte APIs, die das Hinzufügen, Löschen und Ändern von persistentem Speicher in Smart Contracts auf der Blockchain ermöglichen.

Nachfolgend finden Sie eine kurze Beschreibung dieser fünf APIs:

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

Schauen wir uns die Verwendung dieser fünf APIs genauer an.

0. Lassen Sie uns einen neuen Vertrag erstellen SmartX

1. So verwenden Sie die Storage-API

GetContext und GetReadOnlyContext

GetContext и GetReadOnlyContext Rufen Sie den Kontext ab, in dem der aktuelle Smart-Vertrag ausgeführt wird. Der Rückgabewert ist der Kehrwert des aktuellen Smart-Contract-Hashs. Wie der Name schon sagt, GetReadOnlyContext Nimmt den schreibgeschützten Kontext an. Im folgenden Beispiel ist der Rückgabewert der Kehrwert des in der oberen rechten Ecke angezeigten Vertrags-Hash.

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

setzen

Funktion setzen ist für die Speicherung von Daten in der Blockchain in Form eines Wörterbuchs verantwortlich. Wie gezeigt, setzen benötigt drei Parameter. GetContext nimmt den Kontext des aktuell laufenden Smart Contracts an, key ist der Wert des Schlüssels, der zum Speichern der Daten benötigt wird, und value ist der Wert der Daten, die gespeichert werden müssen. Beachten Sie, dass die Funktion den entsprechenden Wert aktualisiert, wenn der Wert des Schlüssels bereits im Speicher vorhanden ist.

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-APIhashrate-and-shares.ru/images/obzorontology/python/functionput.png

Erhalten Sie

Funktion Erhalten Sie ist dafür verantwortlich, die Daten in der aktuellen Blockchain über den Schlüsselwert zu lesen. Im folgenden Beispiel können Sie den Schlüsselwert im Optionsfeld rechts eingeben, um die Funktion auszuführen und die dem Schlüsselwert entsprechenden Daten in der Blockchain zu lesen.

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

Löschen

Funktion Löschen ist für das Löschen von Daten in der Blockchain über den Schlüsselwert verantwortlich. Im folgenden Beispiel können Sie den Schlüsselwert für die Funktion im Optionsfeld rechts eingeben und die dem Schlüsselwert entsprechenden Daten in der Blockchain löschen.

So schreiben Sie einen Smart Contract in Python im Ontology-Netzwerk. Teil 2: Speicher-API

2. Beispiel für einen Speicher-API-Code

Der folgende Code zeigt ein detailliertes Beispiel für die Verwendung von fünf APIs: GetContext, Get, Put, Delete und GetReadOnlyContext. Sie können versuchen, die API-Daten auszuführen 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)

Nachwort

Der Blockchain-Speicher ist der Kern des gesamten Blockchain-Systems. Die Ontology Storage API ist einfach zu verwenden und entwicklerfreundlich.

Andererseits steht der Speicher im Mittelpunkt von Hackerangriffen, wie beispielsweise der Sicherheitsbedrohung, die wir in einem der vorherigen Artikel erwähnt haben: Storage-Injection-AngriffEntwickler müssen beim Schreiben von Code, der sich auf die Speicherung bezieht, besonders auf die Sicherheit achten. Den vollständigen Leitfaden finden Sie auf unserer Seite GitHub hier.

Im nächsten Artikel werden wir die Verwendung besprechen Laufzeit-API.

Der Artikel wurde von den Herausgebern von Hashrate&Shares speziell für OntologyRussia übersetzt. клик

Sind Sie Entwickler? Treten Sie unserer Tech-Community bei Discord. Werfen Sie auch einen Blick auf Entwicklerzentrum Ontology für weitere Tools, Dokumentation und mehr.

Offene Aufgaben für Entwickler. Schließen Sie die Aufgabe ab – erhalten Sie eine Belohnung.

anwenden für das Ontologie-Talentprogramm für Studierende

Ontologie

Ontologie-Website - GitHub - Discord - Telegramm Russisch - Twitter - Reddit

Source: habr.com

Kommentar hinzufügen