1. рдмреНрд▓реЙрдХрдЪреЗрди
рдЕрдм, рдЬрдм рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рддреЛ рдмрд┐рдЯрдХреЙрдЗрди рд╡рд┐рдирд┐рдордп рджрд░ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 5 рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдЧрд┐рд░ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдореИрдВ рдмреНрд▓реЙрдХрдЪреЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдореИрдВ рд╕реБрди рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╕рдВрджреЗрд╣рдкреВрд░реНрдг рд╣реИ - "рдЬрд┐рд╕реЗ рдЕрдм рдЖрдкрдХреЗ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рдЬрд░реВрд░рдд рд╣реИ" ред
рд╣рд╛рдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдкреНрд░рдЪрд╛рд░ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдмрдиреА рд░рд╣реАрдВ, рд╡реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИрдВ рдФрд░ рдХреБрдЫ рдирд┐рдЪреЗ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд░рд╣реЗрдВрдЧреАред
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
рд╣реИрдмреЗ рдкрд░ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рджреЛрдиреЛрдВ рд╕рд╛рдорд╛рдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
habr.com/company/bitfury/blog/353350) рдФрд░
habr.com/company/raveleisenbank/blog/332756 рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдмреНрд▓реЙрдХрдЪреЗрди рдПрдХ рд╡рд┐рддрд░рд┐рдд рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╣реИ, рдЕрд░реНрдерд╛рддред рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреЛ рдХрдИ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреА рдПрдХ рдкреВрд░реА рдкреНрд░рддрд┐ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдпрд╣ рд╣реИ рдХрд┐ рд░рд┐рдХреЙрд░реНрдб (рд▓реЗрдирджреЗрди) рдХреЛ рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмреНрд▓реЙрдХ рдХреЛ рдмреНрд▓реЙрдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рд▓реЗрдирджреЗрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред
рдмреНрд▓реЙрдХрдЪреЗрди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рд╛рдордЧреНрд░рд┐рдпрд╛рдВ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ, рддреЛ рдЖрдк
рдЗрд╕ рд╕рд░рд▓ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
рдмреНрд▓реЙрдХрдЪреИрди рддрдХрдиреАрдХ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рдордп, рд╣рд░ рдЬрдЧрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдХреЙрд▓ рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХреБрдЫ рд╕рдВрдХреЗрдд рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ) рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдЬреЛ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдФрд░ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рджреВрд╕рд░реА рдмрд╛рдд, рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЬрд┐рд╕ рдкрд░ рд╕рднреА рдХреЛ рднрд░реЛрд╕рд╛ рд╣реИред
рддреАрд╕рд░рд╛, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЗрдЯрд╛ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред
рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдп рдХрд┐рд╕реА рднреА рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
Www.101blockchains.com рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рджреЛрдиреЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреАред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реЗрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд░реЛрдЧреА рдбреЗрдЯрд╛ рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП;
- рдЖрдкреВрд░реНрддрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рднрд░ рдореЗрдВ рдЕрджреГрд╢реНрдп рд▓реЗрдирджреЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирдХрд▓реА рджрд╡рд╛рдУрдВ рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП;
- рдзреЛрдЦрд╛рдзрдбрд╝реА рдФрд░ рдбреЗрдЯрд╛ рд╣реЗрд░рдлреЗрд░ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ред
рдХреЙрд░рдкреЛрд░реЗрдЯ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдмреНрд▓реЙрдХрдЪреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдорддрд┐ рд╕реНрддрд░реЛрдВ (рдкреНрд░рд╛рдЗрд╡реЗрдЯ рдкрд░рдорд┐рд╢рди рдмреНрд▓реЙрдХрдЪреЗрди) рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдЬреА рдмреНрд▓реЙрдХрдЪреИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдиреЛрдбреНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдмреНрд▓реЙрдХрдЪреИрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рдПрдереЗрд░рд┐рдпрдо рдХреЛ рдЪреБрдирд╛, рдЬреЛ рдХрд┐ рдЕрдиреБрдорддрд┐ рд░рд╣рд┐рдд рдмреНрд▓реЙрдХрдЪреИрди рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИ - рдПрдХ рд╢рд╛рд╕реА рдирд┐рдХрд╛рдп рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЦреБрд▓рд╛ рдордВрдЪред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдПрдереЗрд░рд┐рдпрдо рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдФрд░ рдПрдХ рдХрд╛рдлреА рд╡рд┐рдХрд╕рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ: рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Ethereum рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк
рдПрдХ рдирд┐рдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдмрдирд╛ рд╕рдХрддреЗ
рд╣реИрдВ ред
2. рдПрдбреЙрдкреНрдЯрд░
рдЕрдм рдПрдбреЙрдкреНрдЯрд░ рдкрд░ рд╣реА рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
InterSystems IRIS (рд╕рд╛рде рд╣реА рдПрдирд╕реЗрдВрдмрд▓ рдореЗрдВ) рдореЗрдВ рдПрдХ рдПрдбреЗрдкреНрдЯрд░ InterSystems IRIS рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рдпрд╛ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред InterSystems IRIS рдПрдбреЗрдкреНрдЯрд░ рдХреЛ рдЗрдирдХрдорд┐рдВрдЧ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХрд╛ рдЖрд░рдВрднрдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ) рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ (рдмрд╛рд╣рд░реА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рдЗрдВрдЯрд░рд╕реЗрд╕реНрдЯрдореЗрдВрдЯреНрд╕ IRIS рд╣реЛрддрд╛ рд╣реИ)ред
IRIS Ethereum рдПрдбреЙрдкреНрдЯрд░ рдПрдХ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдПрдбреЗрдкреНрдЯрд░ рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп InterSystems IRIS рдПрдбреЗрдкреНрдЯрд░ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ InterSystems IRIS рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдбреЙрдкреНрдЯрд░ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ NodeJin рдореЙрдбреНрдпреВрд▓ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдЪрд┐рддреНрд░ 1 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪрд┐рддреНрд░ 1NodeJS рдПрдбреЗрдкреНрдЯрд░ рдореЙрдбреНрдпреВрд▓ Ethereum рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ NodeJS рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдПрдбреЗрдкреНрдЯрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- Ethereum рдореЗрдВ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд░рдЦреЗрдВ (рд╣рдо рдПрдХ рдФрд░ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз, рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ)ред
- рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдореЗрдердбреНрд╕ рдХреЛ рдмреБрд▓рд╛рдУ: рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпрд╛рдБ рдЬреЛ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВ, рдФрд░ рдмреНрд▓реЙрдХрдЪреИрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЗ
- рд▓реЗрдирджреЗрди рд╕рд╣реЗрдЬрдирд╛ (рд╡реЙрд▓реЗрдЯ рд╕реЗ рд╡реЙрд▓реЗрдЯ рдореЗрдВ рдзрдирд░рд╛рд╢рд┐ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛)
- рдмреНрд▓реЙрдХрдЪреИрди рд░рд╛рдЬреНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛
- рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд▓реЙрдЧ рдХрд░рдирд╛ (рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА NodeJS рдореЙрдбреНрдпреВрд▓ рдХрд░рддрд╛ рд╣реИ)
рдПрдбреЗрдкреНрдЯрд░ OpenExchange рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИ ред
3. рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг
рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
Ethereum рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рдЪреБрдиреЗрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдиреЗрдЯрд╡рд░реНрдХ рдЬреИрд╕реЗ рдХрд┐ рд░реЛрдкрд╕реНрдЯреЗрди рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕рдХреА рднрд░рдкрд╛рдИ рдХрд░реЗрдВ
- рд╕реНрдерд╛рдиреАрдп Ethereum рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Geth) рдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Infura)
рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЗрдирджреЗрди рд╕реЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЪрд┐рддреНрд░ 2):
- рд╕рд░реНрд╡рд░ рдФрд░ рдкреЛрд░реНрдЯ рдЬрд╣рд╛рдВ NodeJS рдореЙрдбреНрдпреВрд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ 3000 рд╣реИ)
- рдкреНрд░рджрд╛рддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрдлреНрд░рд╛ рдХреА рдкрд╣реБрдВрдЪ)
- рдПрдХреНрд╕реЗрд╕ рд╡рд┐рд╡рд░рдг (рдПрдХреНрд╕реЗрд╕ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡реЙрд▓реЗрдЯ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЙрд▓реЗрдЯ рд╕реЗ рдирд┐рдЬреА рдХреБрдВрдЬреАред рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо IRIS рдореЗрдВ, рдПрдХреНрд╕реЗрд╕ рд╡рд┐рд╡рд░рдг рдПрдХ рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)
рдЪрд┐рддреНрд░ 2рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ (рдЬреЛ рдЖрдк рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВрдЧреЗ) рдПрдХ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рдХрд░ рдлрд╛рдЗрд▓ рдХреЛ рд░рдЦреЗрдВ:
* abi.txt
* bytecode.txt
рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ ABI рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдФрд░ Bytecode рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз ABI - json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдгред рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рдПрдмреАрдЖрдИ рдФрд░ рдмрд╛рдпрдЯреЗрдХреЛрдб рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд╛рдЗрдЯрдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрдмрдВрдз рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рдкрд░реАрдХреНрд╖рдг рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЗрдирджреЗрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд┐рддреНрд░рд╛ 3 рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓реЗрди-рджреЗрди рд╣реИрд╢ рд╣реИред
рдЪрд┐рддреНрд░ 3Ropsten.etherscan.io рдмреНрд░рд╛рдЙрдЬрд╝рд░ (https://etherscan.io/) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЗрд╕ рд▓реЗрдирджреЗрди рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░рдЦреЗ рдЧрдП рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рдж рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдлреЛрд▓реНрдбрд░ рдФрд░ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯрдЕрдбреНрд░реЗрд╕ред
рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
set ..ContractABI = [].%FromJSON(..ContractFolder_"abi.txt") set contract = ..Adapter.GetContract( ##class(Ethereum.Address).%New(..ContractAddress), ..ContractABI) set result = contract.hello() set pResponse = ##class(Ens.StringContainer).%New(result.args)
GetContract рдЕрдиреБрдХреВрд▓рдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЬрд┐рд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдФрд░ ABI рдХреЗ рдкрддреЗ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рддрдм рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реЗрд▓реЛ () рд╡рд┐рдзрд┐ рдХреЛ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣реЗрд▓реНрд▓реЛ () рд╡рд┐рдзрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмреНрд▓реЙрдХрдЪреИрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛)ред
рдРрд╕реЗ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк InterSystems IRIS рдореЗрдВ рд╕реНрдердЧрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдбреЙрдкреНрдЯрд░ рдХреЛ рд╕реНрдердЧрд┐рдд рдЯреЛрдХрди рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдлрд┐рд░, рдЬрдм NodeJS рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдореЙрдбреНрдпреВрд▓ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рд▓реЗрдирджреЗрди рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред
рдмреНрд▓реЙрдХрдЪреИрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб:
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╡рд┐рдзрд┐ рд╕реЗрдЯрдирд╛рдо () рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡рд┐рд▓рдВрдмрд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЯреЛрдХрди рд╕рд╣рд┐рдд рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдореНрд╕ рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдПрдереЗрд░реЗрдо рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдВрдЧреЗред