Quomodo scribam acri contractu in Pythone in retis Ontologiae. Pars III: Runtime API

Quomodo scribam acri contractu in Pythone in retis Ontologiae. Pars III: Runtime API

Haec est 3 pars in serie de articulis scholasticis in creando contractus captiosus in Pythone in retis Ontologiae blockchain. In articulis superioribus cognovimus

  1. Blockchain & Block API
  2. Repono API.

Nunc te habere ideam de repositione API convenientem appellandi cum pertinacia API cum acri contractu utendo Pythone in retis Ontologiae explicandis, transeamus ad discendum quomodo utendum sit. Runtime API (Contract Executio API). The Runtime API habet 8 APIs cognata quae communes interfaces ad executionem contractuum et subsidiorum tincidunt recuperare, transformare et convalidare datam praebere.

Subter brevis descriptio 8 API data est:

Quomodo scribam acri contractu in Pythone in retis Ontologiae. Pars III: Runtime API

Propius inspiciamus quo modo in data 8 API utatur. Ante hoc, novum contractum in Ontologia creare potes instrumentum contractus evolutionis SmartX infra sequi.

Quomodo uti Runtime API

Dupliciter importare Runtime API: ontology.interop.System.Runtime ΠΈ ontology.interop.Ontology.Runtime. Iter Ontologiam recentem APIs adiectam continet. Lineae infra datae API important.

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

certiorem API

Munus notificans rem per retiaculis transmittit. In exemplo infra, Munus Notify hex chorda "verbi salve" reddet et per reticulum sparget.

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

Hoc videre potes in lignis:

Quomodo scribam acri contractu in Pythone in retis Ontologiae. Pars III: Runtime API

GetTime API

Munus GetTime refert temporis instantis temporis, quod refert tempus Unix ad quod munus vocatum est. Unitas mensurae secunda est.

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

GetCurrentBlockHash API

Munus GetCurrentBlockHash Nullam in scandalum refert.

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

Serialize and Deserialize

Hoc est par functionum serializationis et deserializationis. Munus Serialize objectum ad objectum abiens convertit, et munus Deserialize bytearray ad obiectum originale convertit. Exemplar signum infra parametros venientes convertit et eas in ceptaculo contractu pervicax reponit. Etiam notitias e repositione pervicax contractus reddit et in obiectum originale mutat.

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 et AddressToBase58

Hoc par inscriptionis functiones. Munus Base58To Oratio inscriptionem base58 ad bytearray inscriptionem descriptam convertit, et AddressToBase58 inscriptionem electronicam bytearray ad base58 inscriptionem descriptam convertit.

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)

Reprehendo Testis

CheckWitness (fromAcct) munus habet duas functionality;

  • Cognoscere si salutator functionis hodiernae est fromAcct. Si sic (id est verificationis subscriptio transiit), munus redit.
  • Reprehendo si obiectum vocant munus praesens contractus est. Si contractus est et ex contractu munus fit, probatio lata est. Id est, cognoscere si fromAcct est reditus valoris GetCallingScriptS(). Munus GetCallingScriptHash() munus capere potest valorem contractum detrahendi hodiernae captiosus contractus.

GetCallingScriptHash ()

Magis notitia in 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

More informationes inveniri potest at Guthub. In proximo articulo erimus introducere API patriadiscere quomodo bona in Ontologia captiosos pactiones transferre.

Articulus ab editoribus translatus est Hashrate & quotis praesertim in OntologyRussia.

Esne elit? Nostram tech civitatem ad discordiae. Etiam vide Elit Centre Ontologia, plura instrumenta, documenta et plura ibi invenire potes.

Aperiam officia tincidunt. Perfice munus et mercedem accipite.

Applicare ad Ontologiam ingenii programma alumni

Ontology

Ontologia website - GitHub - discordiae - Telegram English - Twitter - Reddit

Source: www.habr.com