แแก แแ แแก แแ-3 แแแฌแแแ แกแแแแแแแแแแแแแแ แกแขแแขแแแแแก แกแแ แแแก แจแแกแแฎแแ Python-แจแ แญแแแแแแ แแแแขแ แแฅแขแแแแก แจแแฅแแแแก แจแแกแแฎแแ Ontology blockchain แฅแกแแแจแ. แฌแแแ แกแขแแขแแแแจแ แฉแแแ แแแแแชแแแแ
แแฎแแ, แ แแแแกแแช แแฅแแแ แแแฅแแ แฌแแ แแแแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแแแซแแฎแแ แจแแกแแแแแแกแ แแฃแแแแแ แจแแแแฎแแแก API แแแขแแแแแแแก แฅแกแแแจแ Python-แแก แแแแแงแแแแแแ แญแแแแแแ แแแแขแ แแฅแขแแก แจแแแฃแจแแแแแแกแแก, แแแแแ แแแแแแแแแ แแแแแงแแแแแแก แกแฌแแแแแแ. Runtime API (Contract Execution API). Runtime API-แก แแฅแแก 8 แแแแแแจแแ แแแฃแแ API, แ แแแแแแแช แฃแแ แฃแแแแแงแแคแแ แกแแแ แแ แแแขแแ แคแแแกแแแก แแแแขแ แแฅแขแแก แจแแกแแกแ แฃแแแแแแ แแ แแฎแแแ แแแ แแแแแแแแแ แแแก แแแแแชแแแแแแก แแแซแแแแแจแ, แแแ แแแฅแแแแกแ แแ แแแแแฌแแแแแจแ.
แฅแแแแแ แแแชแแแฃแแแ 8 API แแแแแชแแแแแแก แแแแแ แแฆแฌแแ แ:
แแแแแ แฃแคแ แ แแแขแแแฃแ แแ แแแแแแฎแแแแ, แแฃ แ แแแแ แแแแแแแงแแแแ 8 API แแแแแชแแแแแ. แแแแแแแ, แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แแฎแแแ แแแแขแ แแฅแขแ Ontology แญแแแแแแ แแแแขแ แแฅแขแแก แแแแแแแแ แแแแก แแแกแขแ แฃแแแแขแจแ
แ แแแแ แแแแแแแงแแแแ Runtime API
แแแแแ แขแแก แแ แ แแแ แแ แกแแแแแก Runtime API: ontology.interop.System.Runtime ะธ แแแขแแแแแแ.แแแขแแ แแ.แแแขแแแแแแ.แแแจแแแแแก แแ แ. แแแขแแแแแแแก แแแ แจแแแชแแแก แแฎแแแ แแแแแขแแแฃแ API-แแแก. แฅแแแแแ แแแชแแแฃแแ แฎแแแแแ แแแแแ แขแแ แแแก API แแแแแชแแแแแแก.
from ontology.interop.System.Runtime import GetTime, CheckWitness, Log, Notify, Serialize, Deserialize
from ontology.interop.Ontology.Runtime import Base58ToAddress, AddressToBase58, GetCurrentBlockHash
แจแแแขแงแแแแแแ API
Notify แคแฃแแฅแชแแ แแแ แชแแแแแก แแแแแแแแก แแแแ แฅแกแแแจแ. แฅแแแแแ แแแงแแแแแ แแแแแแแแจแ, Notify แคแฃแแฅแชแแ แแแแแ แฃแแแแก แแฅแแกแแฃแแฎแ แกแขแ แแฅแแแก โhello wordโ แแ แแแแแกแชแแแก แแแก แฅแกแแแจแ.
from ontology.interop.System.Runtime import Notify
def demo():
Notify("hello world")
แแแแก แแแฎแแ แจแแแแซแแแแ แแฃแ แแแแแแจแ:
GetTime API
GetTime แคแฃแแฅแชแแ แแแ แฃแแแแก แแแแแแแแ แ แแ แแแก แแแจแแแก, แ แแแแแแช แแแ แฃแแแแก Unix แแ แแก, แ แแชแ แคแฃแแฅแชแแ แแแแแแซแแฎแแก. แกแแแแแ แแ แแแฃแแ แแแแ แแ.
from ontology.interop.System.Runtime import GetTime
def demo():
time=GetTime()
return time # return a uint num
GetCurrentBlockHash API
GetCurrentBlockHash แคแฃแแฅแชแแ แแแ แฃแแแแก แแแแแแแแ แ แแแแแแก แฐแแจแก.
from ontology.interop.Ontology.Runtime import GetCurrentBlockHash
def demo():
block_hash = GetCurrentBlockHash()
return block_hash
แกแแ แแแแแแแชแแ แแ แแแกแแ แแแแแแแแ
แแก แแ แแก แกแแ แแแแแแแชแแแก แแ แแแกแแ แแแแแแแชแแแก แคแฃแแฅแชแแแแแก แฌแงแแแแ. Serialize แคแฃแแฅแชแแ แแแ แแแฅแแแแก แแแแแฅแขแก bytearray แแแแแฅแขแแ, แฎแแแ Deserialize แคแฃแแฅแชแแ แแแ แแแฅแแแแก bytearray-แก แแแแแแแแ แแแ แแแแแฅแขแแ. แฅแแแแแ แแแชแแแฃแแ แแแแแก แแแแฃแจแ แแแ แแแฅแแแแก แจแแแแแแแแ แแแ แแแแขแ แแแก แแ แแแแฎแแแก แแแ แแแแขแ แแฅแขแแก แแฃแแแแ แกแแชแแแจแ. แแก แแกแแแ แแฆแแแก แแแแแชแแแแแก แฎแแแจแแแ แฃแแแแแก แแฃแแแแแ แจแแแแฎแแแกแแแ แแ แแแ แแแฅแแแแก แแแ แแแแแแแแ แแแ แแแแแฅแขแแ.
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 แแ AddressToBase58
แแแกแแแแ แแแก แแแ แแแแแก แแก แฌแงแแแแ แคแฃแแฅแชแแแแแ แแแก. Base58ToAddress แคแฃแแฅแชแแ แแแ แแแฅแแแแก base58 แแแแแ แแแฃแ แแแกแแแแ แแก bytearray แแแกแแแแ แแแ, แฎแแแ AddressToBase58 แแแ แแแฅแแแแก bytearray แแแกแแแแ แแก 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)
แจแแแแแฌแแแ แแแฌแแ
CheckWitness(fromAcct) แคแฃแแฅแชแแแก แแฅแแก แแ แ แคแฃแแฅแชแแ:
- แแแแแแแแฌแแแ, แแ แแก แแฃ แแ แ แแแแแแแแ แ แคแฃแแฅแชแแแก แแแแ แแแ Acct-แแแ. แแฃ แแ (แแแฃ, แฎแแแแแฌแแ แแก แแแแแแแฌแแแแ แแแแแ แ), แคแฃแแฅแชแแ แแ แฃแแแแแ.
- แจแแแแแฌแแแ, แแ แแก แแฃ แแ แ แแแแแฅแขแ, แ แแแแแแช แแฌแแแแก แแแแแแแแ แ แคแฃแแฅแชแแแก, แแ แแก แแแแขแ แแฅแขแ. แแฃ แแก แแ แแก แฎแแแจแแแ แฃแแแแ แแ แคแฃแแฅแชแแ แจแแกแ แฃแแแแฃแแแ แฎแแแจแแแ แฃแแแแแแแ, แแแจแแ แแแแแแแฌแแแแ แแแแแก. แแแฃ, แจแแแแแฌแแแ, แแ แแก แแฃ แแ แ fromAcct GetCallingScriptHash(-แแก) แแแแ แฃแแแแฃแแ แแแแจแแแแแแแ. GetCallingScriptHash() แคแฃแแฅแชแแแก แจแแฃแซแแแ แแแแฆแแก แแแแขแ แแฅแขแแก แฐแแจแแก แแแแจแแแแแแแ แแแแแแแแ แ แญแแแแแแ แแแแขแ แแฅแขแแแแ.
GetCallingScriptHash():
แฃแคแ แ
from ontology.interop.System.Runtime import CheckWitness
from ontology.interop.Ontology.Runtime import Base58ToAddress
def demo():
addr=Base58ToAddress("AW8hN1KhHE3fLDoPAwrhtjD1P7vfad3v8z")
res=CheckWitness(addr)
return res
แแแแแขแแแแแ แแแคแแ แแแชแแ แจแแแแซแแแแ แแฎแแแแ แกแแแขแแ
แกแขแแขแแ แแแ แแแแแก แ แแแแฅแขแแ แแแแ
Hashate&Shares แแแแกแแแฃแแ แแแแ OntologyRussia-แกแแแแก.
แแแแแแแแแ แ แฎแแ ? แจแแฃแแ แแแแ แฉแแแแก แขแแฅแแแแฃแ แกแแแแแแแแแแแก
Ontology
แฌแงแแ แ: www.habr.com