ಪ್ರೊಹೋಸ್ಟರ್ > Блог > ಆಡಳಿತ > ಒಂಟಾಲಜಿ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಪೈಥಾನ್ನಲ್ಲಿ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದವನ್ನು ಹೇಗೆ ಬರೆಯುವುದು. ಭಾಗ 1: ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ಬ್ಲಾಕ್ API
ಒಂಟಾಲಜಿ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಪೈಥಾನ್ನಲ್ಲಿ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದವನ್ನು ಹೇಗೆ ಬರೆಯುವುದು. ಭಾಗ 1: ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ಬ್ಲಾಕ್ API
ಸ್ಮಾರ್ಟ್ ಕಾಂಟ್ರಾಕ್ಟ್ ಡೆವಲಪ್ಮೆಂಟ್ ಟೂಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಒಂಟಾಲಜಿ ಬ್ಲಾಕ್ಚೈನ್ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಪೈಥಾನ್ನಲ್ಲಿ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳನ್ನು ರಚಿಸುವ ಕುರಿತು ಇದು ಶೈಕ್ಷಣಿಕ ಲೇಖನಗಳ ಸರಣಿಯ ಮೊದಲ ಭಾಗವಾಗಿದೆ. SmartX.
ಈ ಲೇಖನದಲ್ಲಿ, ನಾವು ಒಂಟಾಲಜಿ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದ API ಯೊಂದಿಗೆ ನಮ್ಮ ಪರಿಚಯವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ. ಒಂಟಾಲಜಿ ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದ API ಅನ್ನು 7 ಮಾಡ್ಯೂಲ್ಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ:
ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ಬ್ಲಾಕ್ API,
ರನ್ಟೈಮ್ API
ಶೇಖರಣಾ API
ಸ್ಥಳೀಯ API
API ಅನ್ನು ನವೀಕರಿಸಿ,
ಎಕ್ಸಿಕ್ಯೂಶನ್ ಇಂಜಿನ್ API ಮತ್ತು
ಸ್ಥಿರ ಮತ್ತು ಡೈನಾಮಿಕ್ ಕರೆ API.
ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ಬ್ಲಾಕ್ 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 ಫಾರ್ಮ್ಯಾಟ್ಗೆ ಪರಿವರ್ತಿಸಲು ಉದಾಹರಣೆಯಾಗಿ ಹೆಕ್ಸ್ ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ವಹಿವಾಟು ಹ್ಯಾಶ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ. ಉದಾಹರಣೆ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
SmartX ಒದಗಿಸಿದ ಸ್ಟ್ರಿಂಗ್ ಬೈಟ್ ಅರೇ ಪರಿವರ್ತನೆ ಉಪಕರಣವನ್ನು ಬಳಸಿಕೊಂಡು ಇದನ್ನು ಮಾಡಬಹುದು. ಅಂತಿಮವಾಗಿ, ಪರಿಣಾಮವಾಗಿ ಬೈಟೆರ್ರೇ ಅನ್ನು ಈ ರೀತಿಯ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸಿ:
ಒಪ್ಪಂದದ ಹ್ಯಾಶ್ ಮೂಲಕ ಒಪ್ಪಂದವನ್ನು ಹಿಂಪಡೆಯಲು ಡೆವಲಪರ್ಗಳು GetContract ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು. ಒಪ್ಪಂದದ ಹ್ಯಾಶ್ ಪರಿವರ್ತನೆ ಪ್ರಕ್ರಿಯೆಯು ಮೇಲೆ ತಿಳಿಸಲಾದ ವಹಿವಾಟು ಹ್ಯಾಶ್ ಪರಿವರ್ತನೆ ಪ್ರಕ್ರಿಯೆಯಂತೆಯೇ ಇರುತ್ತದೆ.
ಗೆಟ್ಬ್ಲಾಕ್ ಅನ್ನು ಬ್ಲಾಕ್ ಪಡೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ. ನಿರ್ದಿಷ್ಟ ಬ್ಲಾಕ್ ಅನ್ನು ಪಡೆಯಲು ಎರಡು ಮಾರ್ಗಗಳಿವೆ.
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
ಬ್ಲಾಕ್ಚೈನ್ ಮತ್ತು ಬ್ಲಾಕ್ API ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳ ಅನಿವಾರ್ಯ ಭಾಗವಾಗಿದೆ ಏಕೆಂದರೆ ನೀವು ಬ್ಲಾಕ್ಚೈನ್ ಡೇಟಾವನ್ನು ಪ್ರಶ್ನಿಸಲು ಮತ್ತು ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ನಿರ್ಬಂಧಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದು. ಮುಂದಿನ ಲೇಖನಗಳಲ್ಲಿ, ಉಳಿದ API ಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಮತ್ತು ಅವು ಆಂಟಾಲಜಿ ಬ್ಲಾಕ್ಚೈನ್ನೊಂದಿಗೆ ಹೇಗೆ ಸಂವಹನ ನಡೆಸುತ್ತವೆ ಎಂಬುದನ್ನು ನಾವು ಚರ್ಚಿಸುತ್ತೇವೆ.
ಲೇಖನವನ್ನು ವಿಶೇಷವಾಗಿ OntologyRussia ಗಾಗಿ Hashrate&Shares ನ ಸಂಪಾದಕರು ಅನುವಾದಿಸಿದ್ದಾರೆ. ಅಳಲು
ನೀವು ಡೆವಲಪರ್ ಆಗಿದ್ದೀರಾ? ನಲ್ಲಿ ನಮ್ಮ ತಾಂತ್ರಿಕ ಸಮುದಾಯವನ್ನು ಸೇರಿ ಅಪವಾದ. ಅಲ್ಲದೆ, ಒಮ್ಮೆ ನೋಡಿ ಡೆವಲಪರ್ ಸೆಂಟರ್ ನಮ್ಮ ವೆಬ್ಸೈಟ್ನಲ್ಲಿ ನೀವು ಡೆವಲಪರ್ ಪರಿಕರಗಳು, ದಸ್ತಾವೇಜನ್ನು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಕಾಣಬಹುದು.