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

  1. Blockchain & Block API
  2. Storage API.

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:

Conas conradh cliste a scríobh i Python ar an líonra Ontology. Cuid 3: Runtime 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í:

Conas conradh cliste a scríobh i Python ar an líonra Ontology. Cuid 3: Runtime API

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.

from ontology.interop.Ontology.Runtime import GetCurrentBlockHash
def demo():
    block_hash = GetCurrentBlockHash()
    return block_hash

Sraithiú agus Díshraithiú

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.

from ontology.interop.Ontology.Runtime import Base58ToAddress, AddressToBase58
def demo():
    base58_addr="AV1GLfVzw28vtK3d1kVGxv5xuWU59P6Sgn"
    addr=Base58ToAddress(base58_addr)
    Log(addr)
    base58_addr=AddressToBase58(addr)
    Log(base58_addr)

Seiceáil Fhinné

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.

GetCallingScriptHash():

Tuilleadh eolais Guthub

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.

Tascanna oscailte d'fhorbróirí. Críochnaigh an tasc agus gheobhaidh tú luach saothair.

Cuir iarratas isteach don chlár tallainne Ontology do mhic léinn

Ontology

An láithreán gréasáin ontology - GitHub - Discord - Telegram i rúisis - Twitter - Reddit

Foinse: will.com

Add a comment