แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 3: Runtime API

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 3: Runtime API

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒ”-3 แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒกแƒแƒ’แƒแƒœแƒ›แƒแƒœแƒแƒ—แƒšแƒ”แƒ‘แƒšแƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ Python-แƒจแƒ˜ แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ Ontology blockchain แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒฌแƒ˜แƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ”แƒชแƒแƒœแƒ˜แƒ—

  1. Blockchain & Block API
  2. แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก API.

แƒแƒฎแƒšแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒฅแƒ•แƒ— แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒซแƒแƒฎแƒแƒ— แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก API แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜ Python-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒฌแƒแƒ•แƒšแƒแƒ–แƒ”. Runtime API (Contract Execution API). Runtime API-แƒก แƒแƒฅแƒ•แƒก 8 แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ API, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ”แƒœ แƒกแƒแƒ”แƒ แƒ—แƒ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜, แƒ’แƒแƒ แƒ“แƒแƒฅแƒ›แƒœแƒแƒกแƒ แƒ“แƒ แƒ“แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒจแƒ˜.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ 8 API แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ™แƒšแƒ” แƒแƒฆแƒฌแƒ”แƒ แƒ:

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 3: Runtime API

แƒ›แƒแƒ“แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— 8 API แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒ›แƒแƒœแƒแƒ›แƒ“แƒ”, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ Ontology แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒจแƒ˜ SmartX แƒ“แƒ แƒ›แƒ˜แƒฐแƒงแƒ”แƒ•แƒ˜แƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒแƒก.

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— 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")

แƒแƒ›แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒจแƒ˜:

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒแƒ— แƒญแƒ™แƒ•แƒ˜แƒแƒœแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ˜ แƒžแƒ˜แƒ—แƒแƒœแƒจแƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒจแƒ˜. แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 3: Runtime API

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

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒกแƒแƒ˜แƒขแƒ–แƒ” แƒ’แƒฃแƒ—แƒฃแƒ‘แƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ’แƒแƒชแƒœแƒแƒ‘แƒ— แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ APIแƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒ— แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒแƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒกแƒ›แƒแƒ แƒข แƒ™แƒแƒœแƒขแƒ แƒแƒฅแƒขแƒ”แƒ‘แƒจแƒ˜.

แƒกแƒขแƒแƒขแƒ˜แƒ แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒแƒ แƒ”แƒ‘แƒ›แƒ Hashate&Shares แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— OntologyRussia-แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒฎแƒแƒ ? แƒจแƒ”แƒฃแƒ”แƒ แƒ—แƒ“แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ  แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒก แƒฃแƒ—แƒแƒœแƒฎแƒ›แƒแƒ”แƒ‘แƒ. แƒแƒกแƒ”แƒ•แƒ”, แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒ”แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒชแƒ”แƒœแƒขแƒ แƒ˜ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒกแƒฎแƒ•แƒ.

แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒแƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒฏแƒ˜แƒšแƒ“แƒ.

แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ•แƒ แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒœแƒ˜แƒญแƒ˜แƒ”แƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒขแƒฃแƒ“แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก

Ontology

แƒแƒœแƒขแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒกแƒแƒ˜แƒขแƒ˜ - GitHub - แƒฃแƒ—แƒแƒœแƒฎแƒ›แƒแƒ”แƒ‘แƒ - แƒ แƒฃแƒกแƒฃแƒšแƒ˜ แƒขแƒ”แƒšแƒ”แƒ’แƒ แƒแƒ›แƒ - Twitter - Reddit

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ