ProHoster > ΠΠ»ΠΎΠ³ > Maamulka > Sida loo qoro qandaraas caqli gal ah Python shabakadda Ontology. Qeybta 1: Blockchain & Block API
Sida loo qoro qandaraas caqli gal ah Python shabakadda Ontology. Qeybta 1: Blockchain & Block API
Tani waa qaybta koowaad ee maqaallo waxbarasho oo taxane ah oo ku saabsan abuurista qandaraasyo caqli-gal ah Python ee shabakadda blockchain ee Ontology iyadoo la adeegsanayo aaladda horumarinta qandaraasyada caqliga leh SmartX.
Maqaalkan, waxaan ku bilaabi doonaa aqoontayada Ontology smart contract API. Ontology smart contract API waxa loo qaybiyaa 7 qaybood:
Blockchain & Block API,
Runtime API
Kaydinta API
Native API
cusboonaysii API,
Execution Engine API iyo
Joogtada & Dhaqdhaqaaqa Wicitaanka API.
Blockchain & Block API waa qaybta xudunta u ah nidaamka qandaraasyada caqliga leh ee Ontology. Blockchain API waxa ay taageertaa hawlgalada aasaasiga ah ee blockchain, sida helitaanka dhererka hadda jira ee block, halka Block API uu taageerayo hawlgalada su'aalaha block ee aasaasiga ah, sida weydiinta tirada wax kala iibsiga ee block la siiyay.
Aan bilowno!
Si aad u bilowdo, samee qandaraas cusub gudaha SmartX, ka dibna raac tilmaamaha hoose.
1. Sida loo isticmaalo Blockchain API
Tixraacyada shaqada qandaraaska ee smart waxay la mid yihiin tixraacyada Python. Waxaad geli kartaa hawlaha khuseeya marka loo baahdo. Tusaale ahaan, bayaankan soo socdaa wuxuu soo bandhigayaa GetHeight, oo ah shaqo lagu helo dhererka block ee hadda, iyo GetHeader, oo ah shaqo lagu helo cinwaanka block.
from ontology.interop.System.Blockchain import GetHeight, GetHeader
GetHeight
GetHeight waxaa loo isticmaalaa in lagu helo nambarka isku xigxiga block ee ugu dambeeya ee blockchain, sida ku cad tusaalaha hoose. Tusaalaha ugu dambeeya, si ay ugu habboonaato, waxaan ka boodi doonaa shaqada ugu weyn, laakiin waxaad ku dari kartaa haddii loo baahdo.
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
GetHeader waxaa loo isticmaalaa in lagu helo madaxa block; halbeeggu waa lambarka taxanaha ee blockchain. Tusaale:
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
HelTransactionByHash
GetTransactionByHash waxaa loo isticmaalaa in lagu soo celiyo wax kala iibsiga iyadoo la isticmaalayo xashiish wax kala iibsiga. Xashiishka wax kala iibsiga ayaa loo diraa HelTransactionByHash sida qiyaasaha qaabka bytearray. Furaha shaqadan waa in loo beddelo xashiishka macaamil ganacsi qaab hex ah oo loo beddelo xashiishka wax kala iibsiga oo qaab bytearray ah. Tani waa tallaabo muhiim ah. Haddii kale waxaad heli doontaa qalad muujinaya in uusan jirin wax block ah oo xashiishkaas block ah. Aan u soo qaadano xashiishka macaamil ganacsi qaab hex tusaale ahaan si aan ugu badalno qaabka bytearray. Tusaalaha ayaa u eg sidan:
Tan waxa lagu samayn karaa iyadoo la isticmaalayo String Byte Array aalada beddelka by SmartX. Ugu dambayntii, u beddel bakhti-raacii ka dhashay xadhig sidan oo kale ah:
GetTransactionHeight waxaa loo isticmaalaa in lagu helo dhererka wax kala iibsiga iyadoo la isticmaalayo xashiishka wax kala iibsiga. Aan xashiishka ka soo qaadano tusaalaha sare:
Horumariyayaashu waxay isticmaali karaan shaqada GetContract si ay ula soo baxaan heshiiska iyagoo isticmaalaya xashiish qandaraas ah. Habka beddelka xashiishka qandaraaska ayaa la mid ah habka beddelka xashiishka wax kala iibsiga ee kor ku xusan.
GetBlock waxaa loo isticmaalaa in lagu helo block. Waxaa jira laba siyaabood oo lagu helo xannibaad gaar ah.
1. Hel baloog dherer ahaan block ah:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block=GetBlock(1408)
return block
2. Ku hel block by block xash:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block_hash=bytearray(b'x16xe0xc5x40x82x79x77x30x44xeax66xc8xc4x5dx17xf7x17x73x92x33x6dx54xe3x48x46x0bxc3x2fxe2x15x03xe4')
block=GetBlock(block_hash)
2. Sida loo isticmaalo Block API
Waxa jira saddex hawlood oo diyaar ah oo ku jira Block API: HelIsdhaafsiga, GetTransactionCountiyo GetTransactionByIndex. Mid mid ayaan u kala saari doonaa.
GetTransactionCount
GetTransactionCount waxaa loo isticmaalaa in lagu helo tirada wax kala iibsiga ee block la siiyay.
from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionCount
def demo():
block=GetBlock(1408)
count=GetTransactionCount(block)
return count
HelIsdhaafsiga
Horumariyayaashu waxay isticmaali karaan shaqada GetTransactions si ay u soo ceshadaan dhammaan wax kala iibsiga ee ku jira block la bixiyay.
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 waxaa loo isticmaalaa in lagu soo celiyo macaamil ganacsi oo gaar ah oo ku jira block la bixiyay.
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
Ma tahay horumariye? Ku soo biir bulshadayada farsamada khilaaf. Sidoo kale, fiiri Xarunta Horumarinta boggayaga internetka, halkaas oo aad ka heli karto qalabka horumarinta, dukumentiyada iyo wax ka badan.