
Dies ist der zweite Teil einer Serie von Lehrartikeln über die Erstellung von Smart Contracts in Python im Ontology-Blockchain-Netzwerk. Im vorherigen Artikel haben wir uns mit dem Smart Contract von Ontology beschäftigt.
Heute werden wir besprechen, wie man das zweite Modul - Storage APIverwendet. Das Storage API hat fünf verwandte APIs, die das Hinzufügen, Entfernen und Ändern von Daten im persistenten Speicher in Smart Contracts auf der Blockchain ermöglichen.
Nachfolgend finden Sie eine kurze Beschreibung dieser fünf APIs:

Lassen Sie uns näher darauf eingehen, wie man diese fünf APIs nutzt.
0. Erstellen wir einen neuen Vertrag
1. Wie man das Storage API verwendet
GetContext & GetReadOnlyContext
GetContext und GetReadOnlyContext erhalten den Kontext, in dem der aktuelle Smart Contract ausgeführt wird. Der Rückgabewert ist der Hash des aktuellen Smart Contracts. Wie der Name schon sagt, GetReadOnlyContext nimmt den Kontext im Nur-Lesen-Modus an. Im nachstehenden Beispiel ist der Rückgabewert der Hash des Vertrags, der in der oberen rechten Ecke angezeigt wird.

Put
Funktion Put ist verantwortlich für das Speichern von Daten in der Blockchain in Form eines Wörterbuchs. Wie gezeigt, Put nimmt es drei Parameter entgegen. GetContext nimmt den Kontext des aktuell ausgeführten Smart Contracts, key - das Schlüsselfeld, das benötigt wird, um die Daten zu speichern, und value - das Datenfeld, das gespeichert werden muss. Beachten Sie, dass, wenn der Schlüsselwert bereits im Speicher vorhanden ist, die Funktion den entsprechenden Wert aktualisiert.

Get
Funktion Get ist verantwortlich für das Lesen von Daten in der aktuellen Blockchain anhand des Schlüsselfeldes. Im nachstehenden Beispiel können Sie den Schlüsselwert im rechten Parameterbereich eingeben, um die Funktion auszuführen und die Daten abzurufen, die dem Schlüsselwert in der Blockchain entsprechen.

Delete
Funktion Delete ist verantwortlich für das Entfernen von Daten in der Blockchain anhand des Schlüsselfeldes. Im nachstehenden Beispiel können Sie den Schlüsselwert ausfüllen, um die Funktion im rechten Parameterbereich auszuführen und die Daten zu entfernen, die dem Schlüsselwert in der Blockchain entsprechen.

2. Beispielcode für Storage API
Der nachfolgende Code bietet ein detailliertes Beispiel für die Nutzung der fünf APIs: GetContext, Get, Put, Delete und GetReadOnlyContext. Sie können diese APIs ausprobieren. .
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-Speicher ist das Herzstück des gesamten Blockchain-Systems. Die Ontology Storage API ist einfach zu verwenden und bequem für Entwickler.
Andererseits konzentrieren sich Hackerangriffe auf den Speicher, wie die Sicherheitsbedrohung, die wir in einem der vorherigen Artikel erwähnt haben— , die Entwickler müssen bei der Erstellung von Code, der mit dem Speicher verbunden ist, besondere Aufmerksamkeit auf die Sicherheit legen. Sie können das vollständige Handbuch auf unserem hier.
Im nächsten Artikel werden wir diskutieren, wie man Runtime-API.
Der Artikel wurde von der Redaktion Hashrate&Shares speziell für OntologyRussia übersetzt.
Sind Sie Entwickler? Treten Sie unserer technischen Gemeinschaft bei auf . Schauen Sie auch in das Ontology, dort finden Sie weitere Werkzeuge, Dokumentation und vieles mehr.
Schließe die Aufgabe ab – erhalte eine Belohnung.
für das Ontology Talentprogramm für Studenten
Ontology
— — — — —
Quelle: habr.com
