
Dies ist der zweite Teil einer Reihe von Lernartikeln über die Erstellung von Smart Contracts in Python auf der Blockchain-Plattform Ontology. Im vorherigen Artikel haben wir uns mit dem Smart Contract von Ontology beschäftigt.
Heute werden wir besprechen, wie man das zweite Modul— Storage API. Die Storage API verfügt über fünf verwandte APIs, die das Hinzufügen, Entfernen und Ändern von Daten im permanenten Speicher in Smart Contracts auf der Blockchain ermöglichen.
Im Folgenden finden Sie eine kurze Beschreibung dieser fünf APIs:

Lassen Sie uns genauer darauf eingehen, wie man diese fünf APIs verwendet.
0. Erstellen wir einen neuen Vertrag
1. Nutzung der Storage API
GetContext & GetReadOnlyContext
GetContext und GetReadOnlyContext erhalten den Kontext, in dem der aktuelle Smart Contract ausgeführt wird. Der Rückgabewert ist der inverse aktuelle Hash des Smart Contracts. Wie der Name schon sagt, GetReadOnlyContext nimmt den Kontext im Nur-Lese-Modus. Im folgenden Beispiel ist der Rückgabewert der inverse Hash des Vertrags, der oben rechts angezeigt wird.

Put
Die Funktion Put ist verantwortlich für die Speicherung von Daten in der Blockchain in Form eines Wörterbuchs. Wie gezeigt, Put nimmt drei Parameter an. GetContext nimmt den Kontext des aktuellen ausgeführten Smart Contracts auf, key— ist der Wert des Schlüssels, der benötigt wird, um Daten zu speichern, und value— ist der Wert der Daten, die gespeichert werden müssen. Beachten Sie, dass die Funktion den entsprechenden Wert aktualisiert, wenn der Schlüsselwert bereits im Speicher vorhanden ist.

Holen
Die Funktion Holen ist verantwortlich für das Lesen von Daten im aktuellen Blockchain über den Schlüsselwert. Im folgenden Beispiel können Sie den Schlüsselwert im Parameterbereich rechts ausfüllen, um die Funktion auszuführen und die entsprechenden Daten, die dem Schlüsselwert in der Blockchain entsprechen, zu lesen.

Löschen
Die Funktion Löschen ist verantwortlich für das Löschen von Daten in der Blockchain über den Schlüsselwert. Im folgenden Beispiel können Sie den Schlüsselwert ausfüllen, um die Funktion im Parameterbereich rechts auszuführen und die entsprechenden Daten, die dem Schlüsselwert in der Blockchain entsprechen, zu löschen.

2. Beispielcode Storage API
Der nachstehende Code bietet ein detailliertes Beispiel für die Verwendung von fünf APIs: GetContext, Get, Put, Delete und GetReadOnlyContext. Sie können versuchen, diese APIs auszuführen 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)Nachwort
Die Blockchain-Speicherung ist das Herzstück des gesamten Blockchain-Systems. Die Ontology Storage API ist einfach zu verwenden und benutzerfreundlich für Entwickler.
Andererseits sind Speicherziele häufig Angriffen von Hackern ausgesetzt, wie zum Beispiel der Sicherheitsbedrohung, die wir in einem der vorherigen Artikel erwähnt haben— , und deshalb müssen Entwickler besonders auf die Sicherheit achten, wenn sie Code schreiben, der mit dem Speicher verbunden ist. Sie können das vollständige Handbuch auf unserem finden hier.
Im nächsten Artikel werden wir erörtern, wie man verwendet Runtime API.
Der Artikel wurde von der Redaktion Hashrate & Shares speziell für OntologyRussia übersetzt.
Sind Sie Entwickler? Treten Sie unserer technischen Gemeinschaft auf . Außerdem schauen Sie in das von Ontology, wo Sie weitere Werkzeuge, Dokumentationen und vieles mehr finden können.
Schließen Sie die Aufgabe ab — erhalten Sie eine Belohnung.
für das Ontology Talentprogramm für Studenten
Ontology
— — — — —
Quelle: habr.com
