นี่เป็นส่วนที่สองของชุดบทความทางการศึกษาเกี่ยวกับการสร้างสัญญาอัจฉริยะใน Python บนเครือข่ายบล็อกเชน Ontology ในบทความที่แล้วเราได้มาทำความรู้จักกับ
วันนี้เราจะมาพูดถึงวิธีใช้โมดูลที่สอง— API การจัดเก็บข้อมูล. Storage API มี API ที่เกี่ยวข้องห้ารายการ ซึ่งอนุญาตให้เพิ่ม ลบ และเปลี่ยนแปลงพื้นที่จัดเก็บข้อมูลถาวรในสัญญาอัจฉริยะบนบล็อกเชน
ด้านล่างนี้เป็นคำอธิบายโดยย่อของ API ทั้งห้านี้:
มาดูวิธีใช้ API ทั้งห้านี้ให้ละเอียดยิ่งขึ้น
0. มาสร้างสัญญาใหม่กันเถอะ
1. วิธีใช้ Storage API
GetContext & GetReadOnlyContext
รับบริบท и รับ ReadOnlyContext รับบริบทในการดำเนินการสัญญาอัจฉริยะปัจจุบัน ค่าที่ส่งคืนคือค่าผกผันของแฮชของสัญญาอัจฉริยะปัจจุบัน ตามชื่อบ่งบอกว่า รับ ReadOnlyContext ใช้บริบทแบบอ่านอย่างเดียว ในตัวอย่างด้านล่าง ค่าที่ส่งคืนจะกลับกันของแฮชสัญญาที่แสดงที่มุมขวาบน
ใส่
ฟังก์ชัน ใส่ มีหน้าที่จัดเก็บข้อมูลบนบล็อกเชนในรูปแบบของพจนานุกรม ตามที่ปรากฏ, ใส่ รับสามพารามิเตอร์ รับบริบท ใช้บริบทของสัญญาอัจฉริยะที่กำลังทำงานอยู่ในปัจจุบัน คีย์คือค่าของคีย์ที่จำเป็นในการบันทึกข้อมูล และค่าคือมูลค่าของข้อมูลที่จำเป็นต้องบันทึก โปรดทราบว่าหากค่าของคีย์อยู่ในร้านค้าแล้ว ฟังก์ชันจะอัปเดตค่าที่สอดคล้องกัน
รับ
ฟังก์ชัน รับ มีหน้าที่อ่านข้อมูลในบล็อกเชนปัจจุบันผ่านค่าคีย์ ในตัวอย่างด้านล่าง คุณสามารถกรอกค่าคีย์ในแผงตัวเลือกทางด้านขวาเพื่อดำเนินการฟังก์ชันและอ่านข้อมูลที่สอดคล้องกับค่าคีย์ในบล็อกเชน
ลบ
ฟังก์ชัน ลบ มีหน้าที่รับผิดชอบในการลบข้อมูลในบล็อคเชนผ่านค่าคีย์ ในตัวอย่างด้านล่าง คุณสามารถกรอกค่าคีย์สำหรับฟังก์ชันในแผงตัวเลือกทางด้านขวา และลบข้อมูลที่สอดคล้องกับค่าคีย์ในบล็อคเชน
2. ตัวอย่างโค้ด Storage API
โค้ดด้านล่างแสดงตัวอย่างโดยละเอียดของการใช้ API ทั้ง XNUMX รายการ ได้แก่ GetContext, Get, Put, Delete และ GetReadOnlyContext คุณสามารถลองเรียกใช้ข้อมูล API ได้
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 ใช้งานง่ายและเป็นมิตรกับนักพัฒนา
ในทางกลับกัน พื้นที่เก็บข้อมูลเป็นจุดสนใจของการโจมตีของแฮ็กเกอร์ เช่น ภัยคุกคามความปลอดภัยที่เรากล่าวถึงในบทความก่อนหน้านี้—
ในบทความถัดไป เราจะพูดถึงวิธีการใช้งาน รันไทม์ API.
บทความนี้แปลโดยบรรณาธิการของ Hashrate&Shares สำหรับ OntologyRussia โดยเฉพาะ
คลิก
คุณเป็นนักพัฒนาหรือไม่? เข้าร่วมชุมชนเทคโนโลยีของเราที่
อภิปรัชญา
ที่มา: will.com