آنٽولوجي نيٽ ورڪ تي پٿون ۾ سمارٽ معاهدو ڪيئن لکجي. حصو 1: بلاڪچين ۽ بلاڪ API
هي پهريون حصو آهي تعليمي مضمونن جي سيريز جو هڪ سيريز ٺاهڻ تي سمارٽ ڪانٽريڪٽ ٺاهڻ تي پٿون ۾ آنٽولوجي بلاڪچين نيٽ ورڪ تي سمارٽ ڪانٽريڪٽ ڊولپمينٽ ٽول استعمال ڪندي SmartX.
هن آرٽيڪل ۾، اسان پنهنجي واقفيت شروع ڪنداسين آنٽولوجي سمارٽ ڪانٽريڪٽ API سان. آنٽولوجي سمارٽ ڪانٽريڪٽ API کي 7 ماڊلز ۾ ورهايو ويو آهي:
Blockchain & Block API,
رن ٽائم API
اسٽوريج API
اصلي API
اپ گريڊ API،
Execution Engine API ۽
جامد ۽ متحرڪ ڪال API.
Blockchain ۽ Block API آنٽولوجي سمارٽ ڪانٽريڪٽ سسٽم جو بنيادي حصو آهي. Blockchain API بنيادي بلاڪچين سوالن جي عملن کي سپورٽ ڪري ٿو، جهڙوڪ بلاڪ جي موجوده اونچائي حاصل ڪرڻ، جڏهن ته بلاڪ API بنيادي بلاڪ سوال جي عملن کي سپورٽ ڪري ٿو، جهڙوڪ ڏنل بلاڪ لاء ٽرانزيڪشن جو تعداد پڇڻ.
اچو ته شروع ڪريون!
شروع ڪرڻ لاء، هڪ نئون معاهدو ٺاهيو SmartX، ۽ پوءِ ھيٺ ڏنل هدايتن تي عمل ڪريو.
1. ڪيئن استعمال ڪجي Blockchain API
سمارٽ ڪانٽريڪٽ فنڪشن ريفرنس پٿون ريفرنسز جي هڪجهڙائي آهي. توھان ضرورتن مطابق لاڳاپيل افعال داخل ڪري سگھو ٿا. مثال طور، هيٺ ڏنل بيان GetHeight متعارف ڪرايو آهي، هڪ بلاڪ جي موجوده اونچائي حاصل ڪرڻ لاء هڪ فنڪشن، ۽ GetHeader، بلاڪ جي عنوان حاصل ڪرڻ لاء هڪ فنڪشن.
from ontology.interop.System.Blockchain import GetHeight, GetHeader
اونچائي حاصل ڪريو
GetHeight استعمال ڪيو ويندو آهي آخري بلاڪ ترتيب نمبر حاصل ڪرڻ لاءِ blockchain ۾، جيئن هيٺ ڏنل مثال ۾ ڏيکاريل آهي. آخري مثال ۾، سهولت لاءِ، اسان مين فنڪشن کي ڇڏي ڏينداسين، پر جيڪڏھن ضروري ھجي ته توھان ان کي شامل ڪري سگھو ٿا.
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 بلاڪ هيڊر حاصل ڪرڻ لاءِ استعمال ڪيو ويندو آهي؛ پيراميٽر بلاڪچين ۾ بلاڪ جو سيريل نمبر آهي. مثال:
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
Get TransactionByHash
GetTransactionByHash هڪ ٽرانزيڪشن هيش استعمال ڪندي ٽرانزيڪشن کي ٻيهر حاصل ڪرڻ لاء استعمال ڪيو ويندو آهي. ٽرانزيڪشن هيش ڏانهن موڪليو ويو آهي Get TransactionByHash bytearray فارميٽ ۾ parameters جي طور تي. هن فنڪشن جي ڪنجي آهي ٽرانزيڪشن هيش کي هيڪس فارميٽ ۾ تبديل ڪرڻ لاءِ ٽرانزيڪشن هيش کي bytearray فارميٽ ۾. هي هڪ اهم قدم آهي. ٻي صورت ۾ توهان هڪ غلطي حاصل ڪندا ته اهو ظاهر ڪري ٿو ته ان بلاڪ هيش سان ڪو به بلاڪ ناهي. اچو ته ٽرانزيڪشن هيش کي هيڪس فارميٽ ۾ وٺون مثال طور ان کي بائيٽري فارميٽ ۾ تبديل ڪرڻ لاءِ. مثال هن طرح نظر اچي ٿو:
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. ڪيئن استعمال ڪجي Block API
بلاڪ API ۾ ٽي موجود فنڪشن موجود آهن: ٽرانزيڪشن حاصل ڪريو, TransactionCount حاصل ڪريو۽ GetTransactionByIndex. اسان انهن کي هڪ هڪ ڪري ترتيب ڏينداسين.
TransactionCount حاصل ڪريو
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 سمارٽ معاهدن جو هڪ لازمي حصو آهي ڇو ته توهان ان کي استعمال ڪري سگهو ٿا بلاڪ چين ڊيٽا جي پڇا ڳاڇا ڪرڻ ۽ بلاڪ ڊيٽا کي سمارٽ ڪانٽريڪٽ ۾. مستقبل جي مضمونن ۾، اسان بحث ڪنداسين ته ڪيئن استعمال ڪجي باقي APIs ۽ سمجھندا ته اهي ڪيئن آنٽولوجي بلاڪچين سان لهه وچڙ ۾.
مضمون حشرت ۽ شيئرز جي ايڊيٽرن پاران ترجمو ڪيو ويو خاص طور تي آنٽولوجي روس لاءِ. روئڻ
ڇا توهان ڊولپر آهيو؟ اسان جي ٽيڪنيڪل ڪميونٽي ۾ شامل ٿيو رعايت. پڻ، هڪ نظر وٺو ڊولپر سينٽر اسان جي ويب سائيٽ تي، جتي توهان ڳولي سگهو ٿا ڊولپر جا اوزار، دستاويز، ۽ وڌيڪ.