ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > ఒంటాలజీ నెట్వర్క్లో పైథాన్లో స్మార్ట్ ఒప్పందాన్ని ఎలా వ్రాయాలి. పార్ట్ 1: బ్లాక్చెయిన్ & బ్లాక్ API
ఒంటాలజీ నెట్వర్క్లో పైథాన్లో స్మార్ట్ ఒప్పందాన్ని ఎలా వ్రాయాలి. పార్ట్ 1: బ్లాక్చెయిన్ & బ్లాక్ API
స్మార్ట్ కాంట్రాక్ట్ డెవలప్మెంట్ టూల్ని ఉపయోగించి ఒంటాలజీ బ్లాక్చెయిన్ నెట్వర్క్లో పైథాన్ స్మార్ట్ కాంట్రాక్ట్లను రూపొందించడంపై ట్యుటోరియల్ల శ్రేణిలో ఇది మొదటి భాగం. SmartX.
ఈ కథనంలో, మేము ఒంటాలజీ స్మార్ట్ కాంట్రాక్ట్ APIతో మా పరిచయాన్ని ప్రారంభిస్తాము. ఒంటాలజీ స్మార్ట్ కాంట్రాక్ట్ API 7 మాడ్యూల్లుగా విభజించబడింది:
బ్లాక్చెయిన్ & బ్లాక్ API,
రన్టైమ్ API,
నిల్వ API,
స్థానిక API,
APIని అప్గ్రేడ్ చేయండి,
ఎగ్జిక్యూషన్ ఇంజిన్ API మరియు
స్టాటిక్ & డైనమిక్ కాల్ API.
బ్లాక్చెయిన్ & బ్లాక్ API అనేది ఒంటాలజీ స్మార్ట్ కాంట్రాక్ట్ సిస్టమ్లో ప్రధాన భాగం. Blockchain API ప్రస్తుత బ్లాక్ ఎత్తును పొందడం వంటి ప్రాథమిక బ్లాక్చెయిన్ ప్రశ్న కార్యకలాపాలకు మద్దతు ఇస్తుంది, అయితే Block API ఇచ్చిన బ్లాక్ కోసం లావాదేవీల సంఖ్యను ప్రశ్నించడం వంటి ప్రాథమిక బ్లాక్ ప్రశ్న కార్యకలాపాలకు మద్దతు ఇస్తుంది.
ప్రారంభిద్దాం!
మొదట, కొత్త ఒప్పందాన్ని సృష్టించండి SmartXఆపై క్రింది సూచనలను అనుసరించండి.
1. Blockchain APIని ఎలా ఉపయోగించాలి
స్మార్ట్ కాంట్రాక్ట్ ఫంక్షన్లకు లింక్లు పైథాన్ లింక్లకు సమానంగా ఉంటాయి. మీరు అవసరమైన విధంగా సంబంధిత ఫంక్షన్లను నమోదు చేయవచ్చు. ఉదాహరణకు, కింది స్టేట్మెంట్ ప్రస్తుత బ్లాక్ ఎత్తును పొందడానికి GetHeight ఫంక్షన్ను మరియు బ్లాక్ హెడర్ను పొందడానికి GetHeader ఫంక్షన్ను పరిచయం చేస్తుంది.
from ontology.interop.System.Blockchain import GetHeight, GetHeader
గెట్హైట్
దిగువ ఉదాహరణలో చూపిన విధంగా బ్లాక్చెయిన్లో చివరి బ్లాక్ సీక్వెన్స్ నంబర్ను పొందడానికి GetHeight ఉపయోగించబడుతుంది. చివరి ఉదాహరణలో, మేము సౌలభ్యం కోసం ప్రధాన విధిని విస్మరిస్తాము, అయితే అవసరమైతే మీరు దానిని జోడించవచ్చు.
from ontology.interop.System.Runtime import Notify
from ontology.interop.System.Blockchain import GetHeight
def Main(operation):
if operation == 'demo':
return demo()
return False
def demo():
height=GetHeight()
Notify(height) # print height
return height #return height after running the function
గెట్హెడర్
బ్లాక్ హెడర్ను పొందడానికి GetHeader ఉపయోగించబడుతుంది, పరామితి అనేది బ్లాక్చెయిన్లోని బ్లాక్ యొక్క క్రమ సంఖ్య. ఉదాహరణ:
from ontology.interop.System.Runtime import Notify
from ontology.interop.System.Blockchain import GetHeader
def demo():
block_height=10
header=GetHeader(block_height)
Notify(header)
return header
GetTransactionByHash
లావాదేవీ హ్యాష్ ద్వారా లావాదేవీని పొందడానికి GetTransactionByHash ఉపయోగించబడుతుంది. లావాదేవీకి హాష్ పంపబడింది GetTransactionByHash bytearray ఆకృతిలో పారామీటర్లుగా. ఈ ఫంక్షన్కు కీలకం ఏమిటంటే, లావాదేవీ హ్యాష్ను హెక్స్ ఫార్మాట్లో లావాదేవీ హ్యాష్గా బైటియర్రే ఫార్మాట్లో మార్చడం. ఇది ఒక ముఖ్యమైన దశ. లేకపోతే, ఆ బ్లాక్ హాష్తో బ్లాక్ లేదని సూచించే ఎర్రర్ మీకు వస్తుంది. దీన్ని bytearray ఫార్మాట్కి మార్చడానికి ఉదాహరణగా హెక్స్ ఫార్మాట్లో లావాదేవీ హాష్ని తీసుకుందాం. ఒక ఉదాహరణ ఇలా కనిపిస్తుంది:
డెవలపర్లు ఒప్పందం యొక్క హాష్ ద్వారా ఒప్పందాన్ని పొందడానికి GetContract ఫంక్షన్ని ఉపయోగించవచ్చు. కాంట్రాక్ట్ హాష్ మార్పిడి ప్రక్రియ పైన పేర్కొన్న లావాదేవీ హాష్ మార్పిడి ప్రక్రియ వలె ఉంటుంది.
GetBlock బ్లాక్ని పొందడానికి ఉపయోగించబడుతుంది. నిర్దిష్ట బ్లాక్ పొందడానికి రెండు మార్గాలు ఉన్నాయి.
1. బ్లాక్ ఎత్తు ద్వారా బ్లాక్ పొందండి:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block=GetBlock(1408)
return block
2. బ్లాక్ హాష్ ద్వారా బ్లాక్ పొందండి:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block_hash=bytearray(b'x16xe0xc5x40x82x79x77x30x44xeax66xc8xc4x5dx17xf7x17x73x92x33x6dx54xe3x48x46x0bxc3x2fxe2x15x03xe4')
block=GetBlock(block_hash)
2. బ్లాక్ APIని ఎలా ఉపయోగించాలి
బ్లాక్ APIలో మూడు అందుబాటులో ఉన్న ఫంక్షన్లు ఉన్నాయి: లావాదేవీలను పొందండి, GetTransactioncountమరియు GetTransactionByIndex. మేము వాటిని ఒక్కొక్కటిగా విచ్ఛిన్నం చేస్తాము.
GetTransactioncount
ఇచ్చిన బ్లాక్ కోసం లావాదేవీల సంఖ్యను పొందడానికి GetTransactionCount ఉపయోగించబడుతుంది.
from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionCount
def demo():
block=GetBlock(1408)
count=GetTransactionCount(block)
return count
లావాదేవీలను పొందండి
డెవలపర్లు ఇచ్చిన బ్లాక్లో అన్ని లావాదేవీలను పొందడానికి GetTransactions ఫంక్షన్ని ఉపయోగించవచ్చు.
from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactions
def demo():
block=GetBlock(1408)
txs=GetTransactions(block)
return txs
GetTransactionByIndex
ఇచ్చిన బ్లాక్లో నిర్దిష్ట లావాదేవీని పొందడానికి GetTransactionByIndex ఉపయోగించబడుతుంది.
from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionByIndex
def demo():
block=GetBlock(1408)
tx=GetTransactionByIndex(block,0) # index starts from 0.
return tx
Blockchain & Block API అనేది స్మార్ట్ కాంట్రాక్ట్లలో ఒక అనివార్యమైన భాగం, ఎందుకంటే మీరు బ్లాక్చెయిన్ డేటాను అభ్యర్థించడానికి మరియు స్మార్ట్ కాంట్రాక్ట్లలో డేటాను బ్లాక్ చేయడానికి వాటిని ఉపయోగించవచ్చు. కింది కథనాలలో, మేము మిగిలిన APIలను ఎలా ఉపయోగించాలో చర్చిస్తాము మరియు అవి ఒంటాలజీ బ్లాక్చెయిన్తో ఎలా సంకర్షణ చెందుతాయి.
ముఖ్యంగా ఒంటాలజీ రష్యా కోసం హష్రేట్&షేర్స్ సంపాదకులు ఈ కథనాన్ని అనువదించారు. ఏడుస్తారు
మీరు డెవలపర్లా? మా సాంకేతిక సంఘంలో చేరండి అసమ్మతి. అలాగే, పరిశీలించండి డెవలపర్ సెంటర్ మా వెబ్సైట్లో, మీరు డెవలపర్ సాధనాలు, డాక్యుమెంటేషన్ మరియు మరిన్నింటిని కనుగొనవచ్చు.