рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдкрд╛рдпрдердирдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛. рднрд╛рдЧ рез: рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдкрд╛рдпрдердирдордзреНрдпреЗ рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛. рднрд╛рдЧ рез: рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API

рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдкрд╛рдпрдерди рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рд╣рд╛ рдкрд╣рд┐рд▓рд╛ рднрд╛рдЧ рдЖрд╣реЗ. рд╕реНрдорд╛рд░реНрдЯрдПрдХреНрд╕.

рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдПрдкреАрдЖрдпрд╢реА рдЖрдордЪреА рдУрд│рдЦ рд╕реБрд░реВ рдХрд░реВ. рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ API 7 рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ:

  1. рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API,
  2. рд░рдирдЯрд╛рдЗрдо API,
  3. рд╕реНрдЯреЛрд░реЗрдЬ API,
  4. рдореВрд│ API,
  5. API рдЕрдкрдЧреНрд░реЗрдб рдХрд░рд╛,
  6. рдПрдХреНрдЭрд┐рдХреНрдпреБрд╢рди рдЗрдВрдЬрд┐рди API рдЖрдгрд┐
  7. рд╕реНрдЯреЕрдЯрд┐рдХ рдЖрдгрд┐ рдбрд╛рдпрдиреЕрдорд┐рдХ рдХреЙрд▓ API.

рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API рд╣реЗ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдЖрд╣реЗ. рдмреНрд▓реЙрдХрдЪреЗрди API рдореВрд▓рднреВрдд рдмреНрд▓реЙрдХрдЪреЗрди рдХреНрд╡реЗрд░реА рдСрдкрд░реЗрд╢рдиреНрд╕рдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдЬрд╕реЗ рдХреА рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХрдЪреА рдЙрдВрдЪреА рдорд┐рд│рд╡рдгреЗ, рддрд░ рдмреНрд▓реЙрдХ API рдореВрд▓рднреВрдд рдмреНрд▓реЙрдХ рдХреНрд╡реЗрд░реА рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ, рдЬрд╕реЗ рдХреА рджрд┐рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХрд╕рд╛рдареА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдХреНрд╡реЗрд░реА рдХрд░рдгреЗ.

рдЪрд▓рд╛ рд╕реБрд░реВ рдХрд░реБрдпрд╛!

рдкреНрд░рдердо, рдордзреНрдпреЗ рдПрдХ рдирд╡реАрди рдХрд░рд╛рд░ рддрдпрд╛рд░ рдХрд░рд╛ рд╕реНрдорд╛рд░реНрдЯрдПрдХреНрд╕рдЖрдгрд┐ рдирдВрддрд░ рдЦрд╛рд▓реАрд▓ рд╕реВрдЪрдирд╛рдВрдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рд╛.

1. Blockchain API рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдлрдВрдХреНрд╢рдиреНрд╕рдЪреНрдпрд╛ рд▓рд┐рдВрдХреНрд╕ рдкрд╛рдпрдерди рд▓рд┐рдВрдХреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рдЕрд╕рддрд╛рдд. рдЖрдкрдг рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЦрд╛рд▓реАрд▓ рд╡рд┐рдзрд╛рди рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХрдЪреА рдЙрдВрдЪреА рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetHeight рдлрдВрдХреНрд╢рди рдЖрдгрд┐ рдмреНрд▓реЙрдХрдЪреЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetHeader рдлрдВрдХреНрд╢рди рд╕рд╛рджрд░ рдХрд░рддреЗ.

from ontology.interop.System.Blockchain import GetHeight, GetHeader

GetHeight

рдЦрд╛рд▓реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдд рджрд╛рдЦрд╡рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рд╢реЗрд╡рдЯрдЪрд╛ рдмреНрд▓реЙрдХ рдЕрдиреБрдХреНрд░рдо рдХреНрд░рдорд╛рдВрдХ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetHeight рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╢реЗрд╡рдЯрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЖрдореНрд╣реА рд╕реЛрдпреАрд╕рд╛рдареА рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡рдЧрд│реВ, рдкрд░рдВрддреБ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рддреБрдореНрд╣реА рддреЗ рдЬреЛрдбреВ рд╢рдХрддрд╛.

from ontology.interop.System.Runtime import Notify
from ontology.interop.System.Blockchain import GetHeight
def Main(operation):
    if operation == 'demo':
        return demo()
    return False

def demo():
    height=GetHeight()
    Notify(height) # print height
    return height #return height after running the function

GetHeader

рдмреНрд▓реЙрдХ рд╣реЗрдбрд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetHeader рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдкреЕрд░рд╛рдореАрдЯрд░ рд╣рд╛ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреАрд▓ рдмреНрд▓реЙрдХрдЪрд╛ рдЕрдиреБрдХреНрд░рдорд╛рдВрдХ рдЕрд╕рддреЛ. рдЙрджрд╛рд╣рд░рдг:

from ontology.interop.System.Runtime import Notify
from ontology.interop.System.Blockchain import GetHeader
def demo():
    block_height=10
    header=GetHeader(block_height) 
    Notify(header)
return header

рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рдмрд╛рдп рд╣реЕрд╢ рдорд┐рд│рд╡рд╛

GetTransactionByHash рдЪрд╛ рд╡рд╛рдкрд░ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢рджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдХрдбреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЕрд╢ рдкрд╛рдард╡рд▓рд╛ рдЖрд╣реЗ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рдмрд╛рдп рд╣реЕрд╢ рдорд┐рд│рд╡рд╛ bytearray рд╕реНрд╡рд░реВрдкрд╛рдд рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореНрд╣рдгреВрди. рдпрд╛ рдлрдВрдХреНрд╢рдирдЪреА рдЧреБрд░реБрдХрд┐рд▓реНрд▓реА рд╣реЗрдХреНрд╕ рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢рд▓рд╛ рдмрд╛рдпрдЯрд┐рдпрд░реЗ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рдЖрд╣реЗ. рд╣реЗ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдкрд╛рдКрд▓ рдЖрд╣реЗ. рдЕрдиреНрдпрдерд╛, рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рддреНрд░реБрдЯреА рдорд┐рд│реЗрд▓ рдЬреА рд╕реВрдЪрд┐рдд рдХрд░рддреЗ рдХреА рддреНрдпрд╛ рдмреНрд▓реЙрдХ рд╣реЕрд╢рд╕рд╣ рдХреЛрдгрддрд╛рд╣реА рдмреНрд▓реЙрдХ рдирд╛рд╣реА. рд╣реЗрдХреНрд╕ рдлреЙрд░рдореЕрдЯрдордзреАрд▓ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢ рд╣реЗ рдмрд╛рдпрдЯрд┐рдпрд░реЗ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рдШреЗрдК. рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

9f270aa3a4c13c46891ff0e1a2bdb3ea0525669d414994aadf2606734d0c89c1

рдкреНрд░рдердо, рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЕрд╢ рдЙрд▓рдЯ рдХрд░рд╛:

c1890c4d730626dfaa9449419d662505eab3bda2e1f01f89463cc1a4a30a279

SmartX рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ Hex Number(little endian) Number рд░реВрдкрд╛рдВрддрд░рдг рд╕рд╛рдзрди рд╡рд╛рдкрд░реВрди рд╡рд┐рдХрд╕рдХ рд╣реА рдкрд╛рдпрд░реА рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрддрд╛рдд.

рдирдВрддрд░ рдкрд░рд┐рдгрд╛рдо рдмрд╛рдпрдЯрд┐рдпрд░ рдлреЙрд░реНрдореЗрдЯрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛:

{0xc1,0x89,0x0c,0x4d,0x73,0x06,0x26,0xdf,0xaa,0x94,0x49,0x41,0x9d,0x66,0x25,0x05,0xea,0xb3,0xbd,0xa2,0xe1,0xf0,0x1f,0x89,0x46,0x3c,0xc1,0xa4,0xa3,0x0a,0x27,0x9f}

рд╣реЗ SmartX рджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрд╛рдЗрдЯ рдЕреЕрд░реЗ рд░реВрдкрд╛рдВрддрд░рдг рд╕рд╛рдзрди рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╢реЗрд╡рдЯреА, рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдЯрдЕрд░реЗ рд╕рдорд╛рди рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛:

xc1x89x0cx4dx73x06x26xdfxaax94x49x41x9dx66x25x05xeaxb3xbdxa2xe1xf0x1fx89x46x3cxc1xa4xa3x0ax27x9f

рдЦрд╛рд▓реАрд▓ GetTransactionByHash рдлрдВрдХреНрд╢рдирдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ рдЬреЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪрд╛ рд╣реЕрд╢ рд╡рд╛рдкрд░реВрди рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ:

from ontology.interop.System.Blockchain import GetTransactionByHash
def demo():
    # tx_hash="9f270aa3a4c13c46891ff0e1a2bdb3ea0525669d414994aadf2606734d0c89c1"    
    tx_hash=bytearray(b"xc1x89x0cx4dx73x06x26xdfxaax94x49x41x9dx66x25x05xeaxb3xbdxa2xe1xf0x1fx89x46x3cxc1xa4xa3x0ax27x9f")
    tx=GetTransactionByHash(tx_hash)
    return tx

рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреА рдЙрдВрдЪреА рдорд┐рд│рд╡рд╛

GetTransactionHeight рдЪрд╛ рд╡рд╛рдкрд░ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢рджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреА рдЙрдВрдЪреА рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░реВрди рд╣реЕрд╢ рдШреЗрдК:

from ontology.interop.System.Blockchain import  GetTransactionHeight
def demo():
    #   tx_hash="9f270aa3a4c13c46891ff0e1a2bdb3ea0525669d414994aadf2606734d0c89c1"    
    tx_hash=bytearray(b"xc1x89x0cx4dx73x06x26xdfxaax94x49x41x9dx66x25x05xeaxb3xbdxa2xe1xf0x1fx89x46x3cxc1xa4xa3x0ax27x9f")
    height=GetTransactionHeight(tx_hash)
    return height

рдЧреЗрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ

рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╣реЕрд╢рджреНрд╡рд╛рд░реЗ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрд╡реНрд╣рд▓рдкрд░ GetContract рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд. рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╣реЕрд╢ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд░ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рди рд╣реЕрд╢ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рд░рдЦреАрдЪ рдЖрд╣реЗ.

from ontology.interop.System.Blockchain import GetContract
def demo():
    # contract_hash="d81a75a5ff9b95effa91239ff0bb3232219698fa"    
    contract_hash=bytearray(b"xfax98x96x21x32x32xbbxf0x9fx23x91xfaxefx95x9bxffxa5x75x1axd8")
    contract=GetContract(contract_hash)
    return contract

GetBlock

рдмреНрд▓реЙрдХ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetBlock рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд▓реЙрдХ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд.

1. рдмреНрд▓реЙрдХ рдЙрдВрдЪреАрдиреБрд╕рд╛рд░ рдмреНрд▓реЙрдХ рдорд┐рд│рд╡рд╛:

from ontology.interop.System.Blockchain import GetBlock
def demo():
    block=GetBlock(1408)
    return block

2. рдмреНрд▓реЙрдХ рд╣реЕрд╢рджреНрд╡рд╛рд░реЗ рдмреНрд▓реЙрдХ рдорд┐рд│рд╡рд╛:

from ontology.interop.System.Blockchain import GetBlock
def demo():    
    block_hash=bytearray(b'x16xe0xc5x40x82x79x77x30x44xeax66xc8xc4x5dx17xf7x17x73x92x33x6dx54xe3x48x46x0bxc3x2fxe2x15x03xe4')
    block=GetBlock(block_hash)

2. рдмреНрд▓реЙрдХ API рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ

рдмреНрд▓реЙрдХ API рдордзреНрдпреЗ рддреАрди рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд: рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд│рд╡рд╛, TransactionCount рдорд┐рд│рд╡рд╛рдЖрдгрд┐ TransactionByIndex рдорд┐рд│рд╡рд╛. рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ рдПрдХ рдПрдХ рдХрд░реВрди рддреЛрдбреВрди рдЯрд╛рдХреВ.

TransactionCount рдорд┐рд│рд╡рд╛

GetTransactionCount рдЪрд╛ рд╡рд╛рдкрд░ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХрд╕рд╛рдареА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionCount
def demo():
    block=GetBlock(1408)
    count=GetTransactionCount(block)
    return count

рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд│рд╡рд╛

рдбреЗрд╡реНрд╣рд▓рдкрд░ рджрд┐рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХрдордзреАрд▓ рд╕рд░реНрд╡ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА GetTransactions рдлрдВрдХреНрд╢рди рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд.

from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactions 
def demo():
    block=GetBlock(1408)
    txs=GetTransactions(block)
    return txs

TransactionByIndex рдорд┐рд│рд╡рд╛

GetTransactionByIndex рджрд┐рд▓реЗрд▓реНрдпрд╛ рдмреНрд▓реЙрдХрдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.

from ontology.interop.System.Blockchain import GetBlock
from ontology.interop.System.Block import GetTransactionByIndex
def demo():
    block=GetBlock(1408)
    tx=GetTransactionByIndex(block,0) # index starts from 0.
    return tx

рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЖрдордЪреНрдпрд╛ рд╡рд░ рдЖрдврд│реВ рд╢рдХрддреЗ GitHub.

рдирдВрддрд░рдЪрд╛ рд╢рдмреНрдж

рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API рд╣рд╛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдЪрд╛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рднрд╛рдЧ рдЖрд╣реЗ рдХрд╛рд░рдг рддреБрдореНрд╣реА рдмреНрд▓реЙрдХрдЪреЗрди рдбреЗрдЯрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрддрд╛. рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдЙрд░реНрд╡рд░рд┐рдд APIs рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдЖрдгрд┐ рддреЗ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрдирд╢реА рдХрд╕реЗ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд рддреЗ рд╢реЛрдзреВ.

рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЕрд╢рд░реЗрдЯ рдЖрдгрд┐ рд╢реЗрдЕрд░реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкрд╛рджрдХрд╛рдВрдиреА рд╡рд┐рд╢реЗрд╖рддрдГ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд░рд╢рд┐рдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЖрд╣реЗ. рд░рдбрдгреЗ

рддреБрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣рд╛рдд рдХрд╛? рдпреЗрдереЗ рдЖрдордЪреНрдпрд╛ рдЯреЗрдХ рд╕рдореБрджрд╛рдпрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛ рд╡рд┐рдЪрд┐рддреНрд░. рддрд╕реЗрдЪ, рдПрдХ рдХрдЯрд╛рдХреНрд╖ рд╡рд┐рдХрд╕рдХ рдХреЗрдВрджреНрд░ рдЖрдордЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░, рдЬрд┐рдереЗ рддреБрдореНрд╣реА рд╡рд┐рдХрд╕рдХ рд╕рд╛рдзрдиреЗ, рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╢реЛрдзреВ рд╢рдХрддрд╛.

Ontology

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛