Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Nkebi 3: API Runtime

Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Nkebi 3: API Runtime

Nke a bụ akụkụ nke atọ n'usoro isiokwu nkuzi gbasara imepụta nkwekọrịta smart na Python na netwọkụ blockchain Ontology. N'isiokwu ndị gara aga, anyị maara nke ọma

  1. Blockchain & Block API
  2. API nchekwa.

Ugbu a ị nwere echiche nke otu esi akpọ API nchekwa nchekwa kwesịrị ekwesị mgbe ị na-emepụta nkwekọrịta smart site na iji Python na netwọk Ontology, ka anyị gaa n'ihu n'ịmụ ka esi eji. API ojiri oge ( API Nkwekọrịta Nkwekọrịta). API Runtime nwere 8 metụtara API nke na-enye ihe jikọrọ ọnụ maka mmezu nkwekọrịta ma na-enyere ndị mmepe aka iweghachite, gbanwee na kwado data.

N'okpuru bụ nkọwa nkenke nke data API 8:

Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Nkebi 3: API Runtime

Ka anyị lebakwuo anya ka esi eji data API 8. Tupu nke a, ị nwere ike ịmepụta nkwekọrịta ọhụrụ na Ontology smart contract development tool SmartX ma soro ntuziaka n'okpuru.

Otu esi eji Runtime API

Enwere ụzọ abụọ iji bubata Oge ojiri gaa API: ontology.interop.System.Runtime и ontology.interop.Ontology.Oru oge. Ụzọ Ontology nwere API ndị agbakwunyere ọhụrụ. Ahịrị ndị dị n'okpuru na-ebubata data API.

from ontology.interop.System.Runtime import GetTime, CheckWitness, Log, Notify, Serialize, Deserialize
from ontology.interop.Ontology.Runtime import Base58ToAddress, AddressToBase58, GetCurrentBlockHash

API mara ọkwa

Ọrụ Notify na-agbasa ihe omume na netwọkụ niile. N'ihe atụ dị n'okpuru, ọrụ Notify ga-eweghachi eriri hex "hello word" wee gbasaa ya na netwọkụ ahụ.

from ontology.interop.System.Runtime import Notify
def demo():
    Notify("hello world")

Ị nwere ike ịhụ nke a na ndekọ:

Otu esi ede nkwekọrịta smart na Python na netwọk Ontology. Nkebi 3: API Runtime

GetTime API

Ọrụ GetTime na-eweghachite stampụ oge dị ugbu a, nke na-eweghachi oge Unix nke akpọrọ ọrụ ahụ. Unit nke nha bụ nke abụọ.

from ontology.interop.System.Runtime import GetTime
def demo():
    time=GetTime()
    return time # return a uint num

GetCurrentBlockHash API

Ọrụ GetCurrentBlockHash na-eweghachite hash nke ngọngọ dị ugbu a.

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

Serialize na Deserialize

Nke a bụ ụzọ ọrụ serialization na deserialization. Ọrụ Serialize na-atụgharị ihe ka ọ bụrụ ihe na-adịghị mma, yana ọrụ Deserialize na-atụgharị ihe site na ihe mbụ. Ihe nlele koodu dị n'okpuru na-atụgharị paramita na-abata ma chekwaa ha na nchekwa nkwekọrịta na-adịgide adịgide. Ọ na-ewepụta data sitere na nchekwa na-adịgide adịgide nke nkwekọrịta wee gbanwee ya ka ọ bụrụ ihe mbụ.

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

Base58ToAdreesị na AdreesịToBase58

Otu ụzọ ntụgharị asụsụ adreesị a na-arụ ọrụ. Ọrụ Base58ToAdreesị na-atụgharị adreesị agbakwunyere base58 ka ọ bụrụ adreesị bytearray, yana AddressToBase58 na-atụgharị adreesị bytearray gaa na adreesị agbakwunyere 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)

Lelee Onyeàmà

Ọrụ CheckWitness(fromAcct) nwere ọrụ abụọ:

  • Nyochaa ma ọ bụrụ na onye na-akpọ ọrụ ugbu a sitere naAcct. Ọ bụrụ ee (ya bụ, nkwenye mbinye aka gafere), ọrụ ahụ ga-alaghachi.
  • Lelee ma ihe na-akpọ ọrụ ugbu a bụ nkwekọrịta. Ọ bụrụ na ọ bụ nkwekọrịta na arụ ọrụ a na-eme site na nkwekọrịta ahụ, mgbe ahụ, nkwenye ahụ gafere. Ya bụ, nyochaa ma site naAcct bụ uru nloghachi nke GetCallingScriptHash(). Ọrụ GetCallingScriptHash() nwere ike were uru hash nkwekọrịta nke nkwekọrịta smart dị ugbu a.

GetCallingScriptHash():

More na 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

Enwere ike ịchọta ozi ndị ọzọ na Guthub. N'isiokwu na-esonụ, anyị ga-ewebata Nwaafọ APIịmụta ka esi ebufe akụ na Ontology smart contracts.

Ndị ndezi tụgharịrị akụkọ a Hashrate&Shares karịsịa maka Ontology Russia.

Ị bụ onye nrụpụta? Soro obodo teknụzụ anyị na Nsogbu. Ọzọkwa, lelee anya Ebe Onye Mmepụta Ontology, ị nwere ike ịchọta ngwa ọrụ, akwụkwọ na ọtụtụ ndị ọzọ ebe ahụ.

Mepee ọrụ maka ndị mmepe. Mezue ọrụ ahụ wee nweta ụgwọ ọrụ.

Tinye maka mmemme talent Ontology maka ụmụ akwụkwọ

Ojiji

weebụsaịtị Ontology - GitHub - Nsogbu - Telegram Bekee - Twitter - Reddit

isi: www.habr.com

Tinye a comment