ProHoster > Блог > Nchịkwa > Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Akụkụ 1: Blockchain & Block API
Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Akụkụ 1: Blockchain & Block API
Nke a bụ akụkụ nke mbụ na usoro nkuzi maka ịmepụta Python smart contracts na Ontology blockchain network site na iji ngwa mmepe nkwekọrịta smart. SmartX.
N'edemede a, anyị ga-amalite imata anyị na Ontology smart contract API. E kewara Ontology smart contract API na modul 7:
Blockchain & ngọngọ API,
API ọsọ ọsọ,
API nchekwa,
API ala,
API kwalite,
API Execution Engine na
API oku Static & Dynamic.
Blockchain & Block API bụ akụkụ bụ isi nke sistemụ nkwekọrịta smart Ontology. Blockchain API na-akwado ọrụ ajụjụ blockchain bụ isi, dị ka ịnweta ogo nke ngọngọ ugbu a, ebe Block API na-akwado ọrụ ajụjụ ngọngọ bụ isi, dị ka ịjụ ajụjụ ọnụ ọgụgụ azụmahịa maka ngọngọ nyere.
Ka anyị malite!
Mbụ, mepụta nkwekọrịta ọhụrụ n'ime SmartX, wee soro ntuziaka dị n'okpuru.
1. Otu esi eji Blockchain API
Njikọ na ọrụ nkwekọrịta smart bụ otu njikọ Python. Ị nwere ike itinye ọrụ kwekọrọ dịka achọrọ. Dịka ọmụmaatụ, nkwupụta na-esonụ na-ewebata ọrụ GetHeight iji nweta ogo ngọngọ dị ugbu a, yana ọrụ GetHeader iji nweta nkụnye eji isi mee ihe.
from ontology.interop.System.Blockchain import GetHeight, GetHeader
GetHeight
A na-eji GetHeight nweta nọmba usoro ngọngọ ikpeazụ na blockchain, dị ka egosiri na ihe atụ dị n'okpuru. N'ihe atụ ikpeazụ, anyị ga-ahapụ ọrụ isi maka ịdị mma, mana ịnwere ike ịgbakwunye ya ma ọ dị mkpa.
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
A na-eji GetHeader nweta nkụnye eji isi mee ihe, ihe nrụnye ahụ bụ nọmba serial nke ngọngọ na blockchain. Ọmụmaatụ:
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
NwetaTransactionByHash
A na-eji GetTransactionByHash nweta azụmahịa site na hash azụmahịa. A na-ezigara hash azụmahịa ahụ NwetaTransactionByHash dị ka parameters n'ụdị bytearray. Isi ihe dị na ọrụ a bụ ịtụgharị hash azụmahịa na usoro hex na hash azụmahịa n'ụdị bytearray. Nke a bụ nzọụkwụ dị mkpa. Ma ọ bụghị ya, ị ga-enweta njehie nke na-egosi na ọ nweghị ngọngọ nwere hash ngọngọ ahụ. Ka anyị were hash azụmahịa ahụ n'ụdị hex dị ka ọmụmaatụ iji tọghata ya ka ọ bụrụ usoro bytearray. Ọmụmaatụ dị ka nke a:
Enwere ike ime nke a site na iji ngwa ntụgharị String Byte Array nke SmartX nyere. N'ikpeazụ, gbanwee bytearray na-esi na ya pụta ka ọ bụrụ eriri yiri ya:
Ndị mmepe nwere ike iji ọrụ GetContract weghachite nkwekọrịta site na hash nkwekọrịta. Usoro ngbanwe hash nkwekọrịta bụ otu usoro ngbanwe hash nke a kpọtụrụ aha n'elu.
A na-eji GetBlock nweta ngọngọ. Enwere ụzọ abụọ iji nweta otu ngọngọ.
1. Nweta ngọngọ site n'ịdị elu ngọngọ:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block=GetBlock(1408)
return block
2. Nweta ngọngọ site block hash:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block_hash=bytearray(b'x16xe0xc5x40x82x79x77x30x44xeax66xc8xc4x5dx17xf7x17x73x92x33x6dx54xe3x48x46x0bxc3x2fxe2x15x03xe4')
block=GetBlock(block_hash)
2. Otu esi eji ngọngọ API
Enwere ọrụ atọ dị na Block API: GetTransactions, GetTransactionCountna GetTransactionByIndex. Anyị ga-akụrisị ha otu otu.
GetTransactionCount
A na-eji GetTransactionCount nweta ọnụọgụ azụmahịa maka ngọngọ nyere.
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
Ndị mmepe nwere ike iji ọrụ GetTransactions nweta azụmahịa niile na ngọngọ enyere.
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
A na-eji GetTransactionByIndex nweta otu azụmahịa na ngọngọ enyere.
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
Enwere ike ịchọta ntuziaka zuru oke na anyị GitHub.
Afterword
Blockchain & Block API bụ akụkụ dị mkpa nke nkwekọrịta smart dịka ị nwere ike iji ha rịọ data blockchain na igbochi data na nkwekọrịta smart. N'isiokwu ndị na-abịa n'ihu, anyị ga-atụle otu esi eji API ndị ọzọ wee chọpụta ka ha si emekọrịta ihe na Ontology blockchain.
Ndị ndezi Hashrate&Shares tụgharịrị akụkọ a karịsịa maka OntologyRussia. akwa akwa
Ị bụ onye nrụpụta? Soro obodo teknụzụ anyị na Nsogbu. Ọzọkwa, lelee anya Ebe Onye Mmepụta na webụsaịtị anyị, ebe ị nwere ike ịhụ ngwaọrụ nrụpụta, akwụkwọ, na ndị ọzọ.