ProHoster > Blog > Rianachd > Mar a sgrìobhas tu cùmhnant snasail ann am Python air lìonra Ontology. Pàirt 1: Blockchain & Block API
Mar a sgrìobhas tu cùmhnant snasail ann am Python air lìonra Ontology. Pàirt 1: Blockchain & Block API
Is e seo a’ chiad phàirt ann an sreath de chlasaichean oideachaidh mu bhith a’ cruthachadh chùmhnantan smart Python air lìonra blockchain Ontology a’ cleachdadh an inneal leasachaidh cùmhnantan snasail. SmartX.
San artaigil seo, tòisichidh sinn ar eòlas air an API cùmhnant smart Ontology. Tha an API cùmhnant smart Ontology air a roinn ann an 7 modalan:
Blockchain & Block API,
API runtime,
API stòraidh,
API dùthchasach,
Àrdaich API,
Einnsean cur gu bàs API agus
Static & Dynamic Call API.
Is e Blockchain & Block API am prìomh phàirt de shiostam cùmhnantan smart Ontology. Tha an Blockchain API a’ toirt taic do dh’ obair cheistean bunaiteach blockchain, leithid a bhith a’ faighinn àirde a’ bhloca a th’ ann an-dràsta, fhad ‘s a tha an API Block a’ toirt taic do dh’ obair cheistean bunaiteach, leithid a bhith a’ ceasnachadh an àireamh de ghnothaichean airson bloc sònraichte.
Feuch an tòisich sinn!
An toiseach, cruthaich cùmhnant ùr ann an SmartXagus an uairsin lean an stiùireadh gu h-ìosal.
1. Mar a chleachdas tu Blockchain API
Tha ceanglaichean gu gnìomhan cùmhnant snasail co-ionann ri ceanglaichean Python. Faodaidh tu na gnìomhan co-fhreagarrach a chuir a-steach mar a dh ’fheumar. Mar eisimpleir, tha an aithris a leanas a’ toirt a-steach gnìomh GetHeight gus àirde gnàthach a’ bhloca fhaighinn, agus gnìomh GetHeader gus bann-cinn a’ bhloca fhaighinn.
from ontology.interop.System.Blockchain import GetHeight, GetHeader
Faigh àirde
Tha GetHeight air a chleachdadh gus an àireamh sreath bloc mu dheireadh fhaighinn anns an blockchain, mar a chithear san eisimpleir gu h-ìosal. Anns an eisimpleir mu dheireadh, fàgaidh sinn am prìomh ghnìomh airson goireasachd, ach faodaidh tu a chuir ris ma tha sin riatanach.
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
Faigh Ceann-cinnidh
Bithear a’ cleachdadh GetHeader gus bann-cinn a’ bhloca fhaighinn, is e am paramadair àireamh sreathach a’ bhloc anns an blockchain. Eisimpleir:
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
Bithear a’ cleachdadh GetTransactionByHash gus malairt fhaighinn tro hash malairt. Thèid an hash malairt a chuir gu GetTransactionByHash mar pharamadairean ann an cruth bytearray. Is e an iuchair don ghnìomh seo an hash malairt a thionndadh ann an cruth hex gu hash malairt ann an cruth bytearray. Is e ceum cudromach a tha seo. Rud eile, gheibheadh tu mearachd a tha a ’nochdadh nach eil bloc ann leis a’ bhloc hash sin. Gabhamaid an hash malairt ann an cruth hex mar eisimpleir airson a thionndadh gu cruth bytearray. Tha eisimpleir a 'coimhead mar seo:
Faodar seo a dhèanamh a’ cleachdadh an inneal tionndaidh String Byte Array a thug SmartX seachad. Mu dheireadh, tionndaidh am bytearray mar thoradh air gu sreang coltach ris:
Faodaidh luchd-leasachaidh an gnìomh GetContract a chleachdadh gus cùmhnant fhaighinn tro hash a’ chùmhnant. Tha am pròiseas tionndaidh hash cùmhnant an aon rud ris a’ phròiseas tionndaidh hash malairt a chaidh ainmeachadh gu h-àrd.
Tha GetBlock air a chleachdadh gus bloc fhaighinn. Tha dà dhòigh air bloc sònraichte fhaighinn.
1. Faigh bloc a rèir àirde bloca:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block=GetBlock(1408)
return block
2. Faigh bloc le hash bloc:
from ontology.interop.System.Blockchain import GetBlock
def demo():
block_hash=bytearray(b'x16xe0xc5x40x82x79x77x30x44xeax66xc8xc4x5dx17xf7x17x73x92x33x6dx54xe3x48x46x0bxc3x2fxe2x15x03xe4')
block=GetBlock(block_hash)
2. Mar a chleachdas tu Block API
Tha trì gnìomhan rim faighinn anns an Block API: Faigh Gnìomhan, FaighTransactionCountagus GetTransactionByIndex. Bidh sinn gan briseadh sìos aon às deidh aon.
FaighTransactionCount
Tha GetTransactionCount air a chleachdadh gus an àireamh de ghnothaichean fhaighinn airson bloc sònraichte.
from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionCount
def demo():
block=GetBlock(1408)
count=GetTransactionCount(block)
return count
Faigh Gnìomhan
Faodaidh luchd-leasachaidh an gnìomh GetTransactions a chleachdadh gus a h-uile gnothach fhaighinn ann am bloc sònraichte.
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
Tha GetTransactionByIndex air a chleachdadh gus gnothach sònraichte fhaighinn ann am bloc sònraichte.
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
Tha an Blockchain & Block API na phàirt riatanach de chùmhnantan snasail oir faodaidh tu an cleachdadh gus dàta blockchain iarraidh agus dàta a bhacadh ann an cùmhnantan snasail. Anns na h-artaigilean a leanas, bruidhnidh sinn air mar a chleachdas tu an còrr de na APIan agus gheibh sinn a-mach mar a bhios iad ag eadar-obrachadh leis an Ontology blockchain.
Chaidh an artaigil eadar-theangachadh le luchd-deasachaidh Hashrate & Shares gu sònraichte airson OntologyRussia. briog
A bheil thu nad leasaiche? Thig còmhla ris a’ choimhearsnachd theicnigeach againn aig Cuir fàilte air. Cuideachd, thoir sùil air Ionad luchd-leasachaidh air an làrach-lìn againn, far am faigh thu innealan leasaiche, sgrìobhainnean, agus barrachd.