рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдкрд╛рдпрдерди рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рд╣рд╛ рдкрд╣рд┐рд▓рд╛ рднрд╛рдЧ рдЖрд╣реЗ.
рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдПрдкреАрдЖрдпрд╢реА рдЖрдордЪреА рдУрд│рдЦ рд╕реБрд░реВ рдХрд░реВ. рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ API 7 рдореЙрдбреНрдпреВрд▓рдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ:
- рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API,
- рд░рдирдЯрд╛рдЗрдо API,
- рд╕реНрдЯреЛрд░реЗрдЬ API,
- рдореВрд│ API,
- API рдЕрдкрдЧреНрд░реЗрдб рдХрд░рд╛,
- рдПрдХреНрдЭрд┐рдХреНрдпреБрд╢рди рдЗрдВрдЬрд┐рди API рдЖрдгрд┐
- рд╕реНрдЯреЕрдЯрд┐рдХ рдЖрдгрд┐ рдбрд╛рдпрдиреЕрдорд┐рдХ рдХреЙрд▓ 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
рдПрдХ рд╕рдВрдкреВрд░реНрдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЖрдордЪреНрдпрд╛ рд╡рд░ рдЖрдврд│реВ рд╢рдХрддреЗ
рдирдВрддрд░рдЪрд╛ рд╢рдмреНрдж
рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рдмреНрд▓реЙрдХ API рд╣рд╛ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдЪрд╛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рднрд╛рдЧ рдЖрд╣реЗ рдХрд╛рд░рдг рддреБрдореНрд╣реА рдмреНрд▓реЙрдХрдЪреЗрди рдбреЗрдЯрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВ рд╢рдХрддрд╛. рдкреБрдвреАрд▓ рд▓реЗрдЦрд╛рдВрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдЙрд░реНрд╡рд░рд┐рдд APIs рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдЖрдгрд┐ рддреЗ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрдирд╢реА рдХрд╕реЗ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд рддреЗ рд╢реЛрдзреВ.
рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЕрд╢рд░реЗрдЯ рдЖрдгрд┐ рд╢реЗрдЕрд░реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкрд╛рджрдХрд╛рдВрдиреА рд╡рд┐рд╢реЗрд╖рддрдГ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд░рд╢рд┐рдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЖрд╣реЗ.
рд░рдбрдгреЗ
рддреБрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣рд╛рдд рдХрд╛? рдпреЗрдереЗ рдЖрдордЪреНрдпрд╛ рдЯреЗрдХ рд╕рдореБрджрд╛рдпрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛
Ontology
рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╡реЗрдмрд╕рд╛рдЗрдЯ GitHub /рд╡рд┐рдЪрд┐рддреНрд░ - рддрд╛рд░
рдЗрдВрдЧреНрд░рдЬреА /рд░рд╢рд┐рдпрди Twitter /рдкрдВрдЪрдХрд░реНрдо
рд╕реНрддреНрд░реЛрдд: www.habr.com