ProHoster > Blag > Riarachán > Conas conradh cliste a scríobh i Python ar an líonra Ontology. Cuid 3: Runtime API
Conas conradh cliste a scríobh i Python ar an líonra Ontology. Cuid 3: Runtime API
Is é seo an 3ú cuid i sraith alt oideachais ar chruthú conarthaí cliste i Python ar líonra blockchain Ontology. In ailt roimhe seo chuireamar aithne orthu
Anois go bhfuil smaoineamh agat ar conas an API stórála marthanach cuí a ghlaoch nuair a bhíonn conradh cliste á fhorbairt ag baint úsáide as Python ar líonra Ontology, déanaimis bogadh ar aghaidh go dtí foghlaim conas é a úsáid Runtime API (API Forghníomhú Conartha). Tá 8 API gaolmhara ag an Runtime API a sholáthraíonn comhéadain choiteanna le haghaidh forghníomhú conartha agus a chabhraíonn le forbróirí sonraí a aisghabháil, a athrú agus a bhailíochtú.
Seo thíos cur síos gairid ar na sonraí 8 API:
Breathnaímis níos géire ar conas na sonraí 8 API a úsáid. Roimhe seo, is féidir leat conradh nua a chruthú san uirlis forbartha conartha cliste Ontology SmartX agus lean na treoracha thíos.
Conas an Runtime API a úsáid
Tá dhá bhealach a allmhairiú API runtime: ontology.interop.System.Runtime и ontology.interop.Ontology.Runtime. Tá na APIanna nua-chur leis sa chonair Ontology. Iompórtálann na línte thíos na sonraí API.
from ontology.interop.System.Runtime import GetTime, CheckWitness, Log, Notify, Serialize, Deserialize
from ontology.interop.Ontology.Runtime import Base58ToAddress, AddressToBase58, GetCurrentBlockHash
Fógra API
Craolann an fheidhm Notify an imeacht ar fud an líonra. Sa sampla thíos, cuirfidh an fheidhm Notify an teaghrán heicsidheachúlach “hello word” ar ais agus craolfaidh sé ar fud an líonra é.
from ontology.interop.System.Runtime import Notify
def demo():
Notify("hello world")
Is féidir leat é seo a fheiceáil sna logaí:
GetTime API
Tugann an fheidhm GetTime ar ais an stampa ama reatha, a thugann an t-am Unix ar a dtugtar an fheidhm ar ais. Is é an dara aonad tomhais.
from ontology.interop.System.Runtime import GetTime
def demo():
time=GetTime()
return time # return a uint num
GetCurrentBlockHash API
Tugann an fheidhm GetCurrentBlockHash hash an bhloic reatha ar ais.
Is péire feidhmeanna sraitheacha agus díscriúnaithe é seo. Tiontaíonn an fheidhm Serialize réad go réad fotheara, agus tiontaíonn an fheidhm Díserialú seachtheagmháil go dtí an réad bunaidh. Athraíonn an sampla cód thíos na paraiméadair atá ag teacht isteach agus stóráiltear iad i stóráil leanúnach an chonartha. Aisghabhann sé freisin sonraí ó stóráil leanúnach an chonartha agus athraíonn sé isteach sa bhunréad é.
from ontology.interop.System.Runtime import GetTime, CheckWitness, Log, Notify, Serialize, Deserialize
from ontology.interop.System.Storage import Put, Get, GetContext
def Main(operation, args):
if operation == 'serialize_to_bytearray':
data = args[0]
return serialize_to_bytearray(data)
if operation == 'deserialize_from_bytearray':
key = args[0]
return deserialize_from_bytearray(key)
return False
def serialize_to_bytearray(data):
sc = GetContext()
key = "1"
byte_data = Serialize(data)
Put(sc, key, byte_data)
def deserialize_from_bytearray(key):
sc = GetContext()
byte_data = Get(sc, key)
data = Deserialize(byte_data)
return data
Base58ToAddress and AddressToBase58
Feidhmeanna aistriúcháin seoltaí an phéire seo. Tiontaíonn an fheidhm Base58ToAddress seoladh ionchódaithe base58 go seoladh fotheara, agus athraíonn AddressToBase58 seoladh fotheara go seoladh ionchódaithe base58.
Tá dhá fheidhm ag an bhfeidhm CheckWitness(fromAcct):
Fíoraigh an bhfuil glaoiteoir na feidhme reatha óAcct. Má tá (is é sin, fíorú sínithe a rith), filleann an fheidhm.
Seiceáil an bhfuil an réad atá ag glaoch ar an bhfeidhm reatha ina chonradh. Más conradh é agus má dhéantar an fheidhm ón gconradh a fhorghníomhú, déantar an fíorú a rith. Is é sin, fíoraigh an é óAcct luach aischuir GetCallingScriptHash(). Is féidir leis an bhfeidhm GetCallingScriptHash() luach hash conartha an chonartha chliste reatha a ghlacadh.
from ontology.interop.System.Runtime import CheckWitness
from ontology.interop.Ontology.Runtime import Base58ToAddress
def demo():
addr=Base58ToAddress("AW8hN1KhHE3fLDoPAwrhtjD1P7vfad3v8z")
res=CheckWitness(addr)
return res
Is féidir tuilleadh faisnéise a fháil ag Guthub. Sa chéad alt eile tabharfaimid isteach API Dúchasachchun foghlaim conas sócmhainní a aistriú i gconarthaí cliste Ontology.
D’aistrigh na heagarthóirí an t-alt Hashrate&Scaireanna go háirithe le haghaidh OntologyRussia.
An forbróir tú? Bígí inár bpobal teicneolaíochta ag Discord. Chomh maith leis sin, a chur le breathnú ar Ionad Forbróirí Ontology, is féidir leat níos mó uirlisí, doiciméadú agus i bhfad níos mó a fháil ann.