මෙය Ontology blockchain ජාලයේ Python හි ස්මාර්ට් කොන්ත්රාත්තු නිර්මාණය කිරීම පිළිබඳ අධ්යාපනික ලිපි මාලාවක දෙවන කොටසයි. කලින් ලිපියෙන් අපි දැන හඳුනා ගත්තා
අද අපි දෙවන මොඩියුලය භාවිතා කරන්නේ කෙසේද යන්න සාකච්ඡා කරමු- ගබඩා API. Storage API හි සම්බන්ධිත API පහක් ඇති අතර එමඟින් බ්ලොක්චේන් හි ස්මාර්ට් කොන්ත්රාත්තුවල ස්ථීර ගබඩා කිරීම සඳහා එකතු කිරීම, මකා දැමීම සහ වෙනස් කිරීම් සිදු කරයි.
පහත දැක්වෙන්නේ මෙම API පහේ කෙටි විස්තරයකි:
මෙම API පහ භාවිතා කරන්නේ කෙසේදැයි අපි වඩාත් සමීපව බලමු.
0. අපි අලුත් ගිවිසුමක් හදමු
1. Storage API භාවිතා කරන්නේ කෙසේද
GetContext සහ GetReadOnlyContext
GetContext и GetReadOnlyContext වත්මන් ස්මාර්ට් කොන්ත්රාත්තුව ක්රියාත්මක වන සන්දර්භය ලබා ගන්න. ප්රතිලාභ අගය යනු වත්මන් ස්මාර්ට් කොන්ත්රාත් හෑෂ් හි ප්රතිලෝම අගයයි. නමට අනුව, GetReadOnlyContext කියවීමට පමණක් සන්දර්භය ගනී. පහත උදාහරණයේ, ප්රතිලාභ අගය යනු ඉහළ දකුණු කෙළවරේ ප්රදර්ශනය වන කොන්ත්රාත් හෑෂ් හි ප්රතිලෝම අගයයි.
Put
උත්සවය Put ශබ්ද කෝෂයක් ආකාරයෙන් බ්ලොක්චේන් මත දත්ත ගබඩා කිරීම සඳහා වගකිව යුතුය. පෙන්වා ඇති පරිදි, Put පරාමිති තුනක් ගනී. GetContext දැනට ක්රියාත්මක වන ස්මාර්ට් කොන්ත්රාත්තුවේ සන්දර්භය ගනී, යතුර යනු දත්ත සුරැකීමට අවශ්ය යතුරේ අගය වන අතර අගය යනු සුරැකිය යුතු දත්තවල වටිනාකමයි. යතුරේ අගය දැනටමත් ගබඩාවේ තිබේ නම්, ශ්රිතය එහි අනුරූප අගය යාවත්කාලීන කරන බව සලකන්න.
ලබා ගන්න
උත්සවය ලබා ගන්න ප්රධාන අගය හරහා වත්මන් blockchain දත්ත කියවීම සඳහා වගකිව යුතු වේ. පහත උදාහරණයේ, ඔබට ශ්රිතය ක්රියාත්මක කිරීමට දකුණු පස ඇති විකල්ප පැනලයේ ප්රධාන අගය පුරවා බ්ලොක්චේන් හි ඇති ප්රධාන අගයට අනුරූප දත්ත කියවීමට හැකිය.
Delete
උත්සවය Delete ප්රධාන අගය හරහා blockchain හි දත්ත මකා දැමීම සඳහා වගකිව යුතු ය. පහත උදාහරණයේ, ඔබට දකුණු පස ඇති විකල්ප පැනලයේ ශ්රිතය සඳහා යතුරු අගය පුරවා බ්ලොක්චේන් හි ප්රධාන අගයට අනුරූප දත්ත මකා දැමිය හැකිය.
2. Storage API කේත උදාහරණය
පහත කේතය API පහක භාවිතය පිළිබඳ සවිස්තරාත්මක උදාහරණයක් සපයයි: 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)
පසු පදය
Blockchain ගබඩාව යනු සමස්ත blockchain පද්ධතියේ හරයයි. Ontology Storage API භාවිතා කිරීමට පහසු සහ සංවර්ධක-හිතකාමී වේ.
අනෙක් අතට, ගබඩාව යනු අප පෙර ලිපි වලින් එකක සඳහන් කළ ආරක්ෂක තර්ජනය වැනි හැකර් ප්රහාරවල කේන්ද්රස්ථානයයි-
ඊළඟ ලිපියෙන් අපි භාවිතා කරන්නේ කෙසේද යන්න සාකච්ඡා කරමු ධාවන කාල API.
විශේෂයෙන්ම OntologyRussia සඳහා Hashrate&Shares හි සංස්කාරකවරුන් විසින් ලිපිය පරිවර්තනය කරන ලදී.
අඬනවා
ඔබ සංවර්ධකයෙක්ද? අපගේ තාක්ෂණික ප්රජාවට සම්බන්ධ වන්න
ඕටොවිද්යාව
මූලාශ්රය: www.habr.com