วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

นี่เป็นส่วนที่สองของชุดบทความทางการศึกษาเกี่ยวกับการสร้างสัญญาอัจฉริยะใน Python บนเครือข่ายบล็อกเชน Ontology ในบทความที่แล้วเราได้มาทำความรู้จักกับ บล็อกเชนและบล็อก API สัญญาอัจฉริยะของ Ontology

วันนี้เราจะมาพูดถึงวิธีใช้โมดูลที่สอง— API การจัดเก็บข้อมูล. Storage API มี API ที่เกี่ยวข้องห้ารายการ ซึ่งอนุญาตให้เพิ่ม ลบ และเปลี่ยนแปลงพื้นที่จัดเก็บข้อมูลถาวรในสัญญาอัจฉริยะบนบล็อกเชน

ด้านล่างนี้เป็นคำอธิบายโดยย่อของ API ทั้งห้านี้:

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

มาดูวิธีใช้ API ทั้งห้านี้ให้ละเอียดยิ่งขึ้น

0. มาสร้างสัญญาใหม่กันเถอะ SmartX

1. วิธีใช้ Storage API

GetContext & GetReadOnlyContext

รับบริบท и รับ ReadOnlyContext รับบริบทในการดำเนินการสัญญาอัจฉริยะปัจจุบัน ค่าที่ส่งคืนคือค่าผกผันของแฮชของสัญญาอัจฉริยะปัจจุบัน ตามชื่อบ่งบอกว่า รับ ReadOnlyContext ใช้บริบทแบบอ่านอย่างเดียว ในตัวอย่างด้านล่าง ค่าที่ส่งคืนจะกลับกันของแฮชสัญญาที่แสดงที่มุมขวาบน

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

ใส่

ฟังก์ชัน ใส่ มีหน้าที่จัดเก็บข้อมูลบนบล็อกเชนในรูปแบบของพจนานุกรม ตามที่ปรากฏ, ใส่ รับสามพารามิเตอร์ รับบริบท ใช้บริบทของสัญญาอัจฉริยะที่กำลังทำงานอยู่ในปัจจุบัน คีย์คือค่าของคีย์ที่จำเป็นในการบันทึกข้อมูล และค่าคือมูลค่าของข้อมูลที่จำเป็นต้องบันทึก โปรดทราบว่าหากค่าของคีย์อยู่ในร้านค้าแล้ว ฟังก์ชันจะอัปเดตค่าที่สอดคล้องกัน

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูลhashrate-and-shares.ru/images/obzorontology/python/functionput.png

รับ

ฟังก์ชัน รับ มีหน้าที่อ่านข้อมูลในบล็อกเชนปัจจุบันผ่านค่าคีย์ ในตัวอย่างด้านล่าง คุณสามารถกรอกค่าคีย์ในแผงตัวเลือกทางด้านขวาเพื่อดำเนินการฟังก์ชันและอ่านข้อมูลที่สอดคล้องกับค่าคีย์ในบล็อกเชน

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

ลบ

ฟังก์ชัน ลบ มีหน้าที่รับผิดชอบในการลบข้อมูลในบล็อคเชนผ่านค่าคีย์ ในตัวอย่างด้านล่าง คุณสามารถกรอกค่าคีย์สำหรับฟังก์ชันในแผงตัวเลือกทางด้านขวา และลบข้อมูลที่สอดคล้องกับค่าคีย์ในบล็อคเชน

วิธีเขียนสัญญาอัจฉริยะใน Python บนเครือข่าย Ontology ส่วนที่ 2: API การจัดเก็บข้อมูล

2. ตัวอย่างโค้ด Storage API

โค้ดด้านล่างแสดงตัวอย่างโดยละเอียดของการใช้ API ทั้ง XNUMX รายการ ได้แก่ GetContext, Get, Put, Delete และ GetReadOnlyContext คุณสามารถลองเรียกใช้ข้อมูล 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)

เล่ม

ที่เก็บข้อมูลบล็อคเชนถือเป็นแกนหลักของระบบบล็อคเชนทั้งหมด Ontology Storage API ใช้งานง่ายและเป็นมิตรกับนักพัฒนา

ในทางกลับกัน พื้นที่เก็บข้อมูลเป็นจุดสนใจของการโจมตีของแฮ็กเกอร์ เช่น ภัยคุกคามความปลอดภัยที่เรากล่าวถึงในบทความก่อนหน้านี้— การโจมตีแบบฉีดการจัดเก็บนักพัฒนาจะต้องใส่ใจเป็นพิเศษในเรื่องความปลอดภัยเมื่อเขียนโค้ดที่เกี่ยวข้องกับพื้นที่จัดเก็บข้อมูล คุณสามารถดูคำแนะนำฉบับสมบูรณ์ได้จากเรา GitHub ที่นี่

ในบทความถัดไป เราจะพูดถึงวิธีการใช้งาน รันไทม์ API.

บทความนี้แปลโดยบรรณาธิการของ Hashrate&Shares สำหรับ OntologyRussia โดยเฉพาะ คลิก

คุณเป็นนักพัฒนาหรือไม่? เข้าร่วมชุมชนเทคโนโลยีของเราที่ ไม่ลงรอยกัน. นอกจากนี้ ลองดูที่ ศูนย์นักพัฒนา Ontology คุณสามารถค้นหาเครื่องมือ เอกสารประกอบ และอื่นๆ อีกมากมายได้จากที่นั่น

เปิดงานสำหรับนักพัฒนา ทำภารกิจให้สำเร็จและรับรางวัล

นำมาใช้ สำหรับโปรแกรม Ontology Talent สำหรับนักศึกษา

อภิปรัชญา

เว็บไซต์อภิปรัชญา - GitHub - ไม่ลงรอยกัน - โทรเลขรัสเซีย - Twitter - Reddit

ที่มา: will.com

เพิ่มความคิดเห็น