рдпреЛ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдУрдиреНрдЯреЛрд▓рдЬреА рдмреНрд▓рдХрдЪреЗрди рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдкрд╛рдЗрдерди рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рдкрд╣рд┐рд▓реЛ рднрд╛рдЧ рд╣реЛред
рдпрд╕ рд▓реЗрдЦрдорд╛, рд╣рд╛рдореА Ontology smart Contract API рд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рдкрд░рд┐рдЪрдп рд╕реБрд░реБ рдЧрд░реНрдиреЗрдЫреМрдВред Ontology рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз API 7 рдореЛрдбреНрдпреБрд▓рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЫ:
- Blockchain рд░ Block API,
- рд░рдирдЯрд╛рдЗрдо API,
- рднрдгреНрдбрд╛рд░рдг API,
- рдиреЗрдЯрд┐рдн API,
- API рдЕрдкрдЧреНрд░реЗрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН,
- рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЗрдиреНрдЬрд┐рди API рд░
- рд╕реНрдерд┐рд░ рд░ рдЧрддрд┐рд╢реАрд▓ рдХрд▓ APIред
Blockchain рд░ Block API рдУрдиреНрдЯреЛрд▓рдЬреА рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдореБрдЦреНрдп рднрд╛рдЧ рд╣реЛред рдмреНрд▓рдХрдЪреЗрди рдПрдкреАрдЖрдИрд▓реЗ рдЖрдзрд╛рд░рднреВрдд рдмреНрд▓рдХрдЪреЗрди рдХреНрд╡реЗрд░реА рдЕрдкрд░реЗрд╢рдирд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рд╣рд╛рд▓рдХреЛ рдмреНрд▓рдХрдХреЛ рдЙрдЪрд╛рдЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ, рдЬрдмрдХрд┐ рдмреНрд▓рдХ рдПрдкреАрдЖрдИрд▓реЗ рдЖрдзрд╛рд░рднреВрдд рдмреНрд▓рдХ рдХреНрд╡реЗрд░реА рдЕрдкрд░реЗрд╢рдирд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕реНрддреИ рджрд┐рдЗрдПрдХреЛ рдмреНрд▓рдХрдХреЛ рд▓рд╛рдЧрд┐ рд▓реЗрдирджреЗрдирдХреЛ рд╕рдВрдЦреНрдпрд╛ рдХреНрд╡реЗрд░реА рдЧрд░реНрдиреЗред
рд╕реБрд░реБ рдЧрд░реМрдВ!
рдкрд╣рд┐рд▓реЗ, рдорд╛ рдирдпрд╛рдБ рд╕рдореНрдЭреМрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
1. Blockchain API рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ
рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рдкрд╛рдЗрдерди рд▓рд┐рдЩреНрдХрд╣рд░реВрд╕рдБрдЧ рд╕рдорд╛рди рдЫрдиреНред рддрдкрд╛рдИрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдкрдорд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рдХрдердирд▓реЗ рд╣рд╛рд▓рдХреЛ рдмреНрд▓рдХ рдЙрдЪрд╛рдЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди GetHeight рдкреНрд░рдХрд╛рд░реНрдп рд░ рдмреНрд▓рдХрдХреЛ рд╣реЗрдбрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди GetHeader рдкреНрд░рдХрд╛рд░реНрдп рдкрд░рд┐рдЪрдп рдЧрд░рд╛рдЙрдБрдЫред
from ontology.interop.System.Blockchain import GetHeight, GetHeader
рдЙрдЪрд╛рдЗ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
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 рдмреНрд▓рдХ рд╣реЗрдбрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ blockchain рдорд╛ рдмреНрд▓рдХ рдХреЛ рдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╣реЛред рдЙрджрд╛рд╣рд░рдг:
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
TransactionByHash рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
GetTransactionByHash рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕ рдорд╛рд░реНрдлрдд рд▓реЗрдирджреЗрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕ рдкрдард╛рдЗрдПрдХреЛ рдЫ TransactionByHash рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН bytearray рдврд╛рдБрдЪрд╛рдорд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ред рдпрд╕ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рдХреБрдЮреНрдЬреА рд╣реЗрдХреНрд╕ рдврд╛рдБрдЪрд╛рдорд╛ рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕рд▓рд╛рдИ bytearray рдврд╛рдБрдЪрд╛рдорд╛ рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБ рд╣реЛред рдпреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реЛред рдЕрдиреНрдпрдерд╛, рддрдкрд╛рдИрд▓реЗ рдПрдЙрдЯрд╛ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫ рдЬрд╕рд▓реЗ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ рдХрд┐ рддреНрдпреЛ рдмреНрд▓рдХ рд╣реНрдпрд╛рд╕рд╕рдБрдЧ рдХреБрдиреИ рдмреНрд▓рдХ рдЫреИрдиред рд╣реЗрдХреНрд╕ рдврд╛рдБрдЪрд╛рдорд╛ рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕рд▓рд╛рдИ рдмрд╛рдЗрдЯрд┐рдпрд░реЗ рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреБрд╣реЛрд╕реНред рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
9f270aa3a4c13c46891ff0e1a2bdb3ea0525669d414994aadf2606734d0c89c1
рдкрд╣рд┐рд▓реЗ, рд▓реЗрдирджреЗрди рд╣реНрдпрд╛рд╕рд▓рд╛рдИ рдЙрд▓реНрдЯрд╛рдЙрдиреБрд╣реЛрд╕реН:
c1890c4d730626dfaa9449419d662505eab3bda2e1f01f89463cc1a4a30a279
рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ SmartX рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╣реЗрдХреНрд╕ рдирдореНрдмрд░ (рд▓рд┐рдЯрд┐рд▓ рдПрдиреНрдбрд┐рдпрди) рдирдореНрдмрд░ рд░реВрдкрд╛рдиреНрддрд░рдг рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпреЛ рдЪрд░рдг рдкреВрд░рд╛ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред
рддреНрдпрд╕рдкрдЫрд┐ рдкрд░рд┐рдгрд╛рдорд▓рд╛рдИ bytearray рдврд╛рдБрдЪрд╛рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН:
{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 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ String Byte Array рд░реВрдкрд╛рдиреНрддрд░рдг рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЕрдиреНрддрдорд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╛рдЗрдЯрд░реЗрд▓рд╛рдИ рд╕рдорд╛рди рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН:
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 рдмреНрд▓рдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рддреНрдпрд╣рд╛рдБ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреНрд▓рдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рджреБрдИ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреНред
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. Block API рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ
рддреНрдпрд╣рд╛рдБ рдмреНрд▓рдХ API рдорд╛ рдЙрдкрд▓рдмреНрдз рддреАрди рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН: рд▓реЗрдирджреЗрди рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд▓реЗрдирджреЗрди рдЧрдгрдирд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНрд░ рд▓реЗрдирджреЗрди рджреНрд╡рд╛рд░рд╛ рдЗрдиреНрдбреЗрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдПрдХ рдПрдХ рдЧрд░реЗрд░ рддреЛрдбреНрдиреЗрдЫреМрдВред
рд▓реЗрдирджреЗрди рдЧрдгрдирд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
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
рд▓реЗрдирджреЗрди рджреНрд╡рд╛рд░рд╛ рдЗрдиреНрдбреЗрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН
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
рдПрдХ рдкреВрд░реНрдг рдЧрд╛рдЗрдб рд╣рд╛рдореНрд░реЛ рдорд╛ рдкрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ
рдкрдЫрд┐рд╢рдмреНрдж
рдмреНрд▓рдХрдЪреЗрди рд░ рдмреНрд▓рдХ рдПрдкреАрдЖрдИ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВрдХреЛ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдЕрдВрд╢ рд╣реЛ рдХрд┐рдирднрдиреЗ рддрдкрд╛рдИрдВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдмреНрд▓рдХрдЪреЗрди рдбреЗрдЯрд╛ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд░ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВрдорд╛ рдбреЗрдЯрд╛ рдмреНрд▓рдХ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдирд┐рдореНрди рд▓реЗрдЦрд╣рд░реВрдорд╛, рд╣рд╛рдореА рдмрд╛рдБрдХреА рдПрдкреАрдЖрдИрд╣рд░реВ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдУрдиреНрдЯреЛрд▓рдЬреА рдмреНрд▓рдХрдЪреЗрдирд╕рдБрдЧ рдХрд╕рд░реА рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдЫрдиреН рднрдиреЗрд░ рдЫрд▓рдлрд▓ рдЧрд░реНрдиреЗрдЫреМрдВред
рд▓реЗрдЦ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА OntologyRussia рдХреЛ рд▓рд╛рдЧрд┐ Hashrate & Shares рдХреЛ рд╕рдореНрдкрд╛рджрдХрд╣рд░реБ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
рд░реБрдиреБ
рддрдкрд╛рдИрдВ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╣реБрдиреБрд╣реБрдиреНрдЫ? рд╣рд╛рдореНрд░реЛ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╕рдореБрджрд╛рдпрдорд╛ рд╕рд╛рдореЗрд▓ рд╣реБрдиреБрд╣реЛрд╕реН
рдУрдиреНрдЯреЛрд▓реЛрдЬреА
рдУрдиреНрдЯреЛрд▓рдЬреА рд╡реЗрдмрд╕рд╛рдЗрдЯ GitHub /рддреНрдпрд╛рдЧ - рддрд╛рд░
рдЕрдВрдЧреНрд░реЗрдЬреА /рд░реВрд╕реА twitter /Reddit
рд╕реНрд░реЛрдд: www.habr.com