рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рд╡рд┐рд╕реНрддрд╛рд░ рдорд╛ рдореВрдн рднрд╛рд╖рд╛ рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ рд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рд╕реНрдорд╛рд░реНрдЯ рд╕рдореНрдЭреМрддрд╛рд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рдЕрд░реНрдХреЛ, рдкрд╣рд┐рд▓реЗ рдиреИ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛ рд╕рдВрдЧ рдпрд╕рдХреЛ рдореБрдЦреНрдп рдорддрднреЗрдж рдХреЗ рд╣реЛ - рдареЛрд╕рддрд╛ (Ethereum рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛)ред рд╕рд╛рдордЧреНрд░реА рдЙрдкрд▓рдмреНрдз рдЕрдирд▓рд╛рдЗрди реи-рдкреГрд╖реНрда рд╢реНрд╡реЗрддрдкрддреНрд░ рдХреЛ рдПрдХ рдЕрдзреНрдпрдпрди рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫред

рдкрд░рд┐рдЪрдп

рдореВрдн рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдмрд╛рдЗрдЯрдХреЛрдб рднрд╛рд╖рд╛ рд╣реЛ рдЬреБрди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЗрдирджреЗрди рд░ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рджреБрдИ рдмреБрдБрджрд╛рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН:

  1. рдЬрдмрдХрд┐ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рднрд╛рд╖рд╛ рд╣реЛ рдХрд┐ рд╕реАрдзрд╛ рд╕рд╛рд░реНрди рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╢рд┐рди рдорд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдареЛрд╕рддрд╛ (Ethereum рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рднрд╛рд╖рд╛) рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЛ рднрд╛рд╖рд╛ рд╣реЛ рдХрд┐ рдкрд╣рд┐рд▓реЗ рдПрдХ EVM (Ethereum рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╢рд┐рди) рдорд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реБрдиреБ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ рдмрд╛рдЗрдЯрдХреЛрдбрдорд╛ рд╕рдВрдХрд▓рд┐рдд рдЧрд░реАрдПрдХреЛ рд╣реЛред
  2. рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд▓рд╛рдЧреВ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рдХрд╕реНрдЯрдо рд▓реЗрдирджреЗрди рдХреЛ рд▓рд╛рдЧреА (рдпреЛ рдкрдЫрд┐ рдорд╛ рдЕрдзрд┐рдХ), рдЬрдмрдХрд┐ рдареЛрд╕ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдорд╛рддреНрд░ рднрд╛рд╖рд╛ рд╣реЛред


рдЕрдиреБрд╡рд╛рдж INDEX рдкреНрд░реЛрдЯреЛрдХрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЯреЛрд▓реА рджреНрд╡рд╛рд░рд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдЕрдиреБрд╡рд╛рдж рдЧрд░реЗрдХрд╛ рдЫреМрдВ рддреБрд▓рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдЙрддреНрдХреГрд╖реНрдЯ рд╕рд╛рдордЧреНрд░реА, рдЕрдм рдпреЛ Move language рдорд╛ рдирдЬрд┐рдХрдмрд╛рдЯ рд╣реЗрд░реНрдиреЗ рд╕рдордп рд╣реЛред рдЕрдиреБрд╡рд╛рдж habrauser рд╕рдБрдЧрд╕рдБрдЧреИ рдмрдирд╛рдЗрдПрдХреЛ рдерд┐рдпреЛ coolsiu

Move рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рд░реЗрдЦреАрдп рддрд░реНрдХрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рдорд╛рдиреНрдЯрд┐рдХреНрд╕рдХреЛ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рди рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛ: рдПрдХ рд╕реНрд░реЛрддрд▓рд╛рдИ рдХрд╣рд┐рд▓реНрдпреИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд╡рд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдореЗрдЯрд╛рдЙрди рд╕рдХрд┐рдБрджреИрди, рдХреЗрд╡рд▓ рд╕рд╛рд░рд┐рдпреЛред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдкрдорд╛, рдпреЛ рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВрд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫред Rust рдорд╛ рдорд╛рдирд╣рд░реВ рдПрдХ рдкрдЯрдХрдорд╛ рдПрдХ рдирд╛рдордорд╛ рдорд╛рддреНрд░ рддреЛрдХреНрди рд╕рдХрд┐рдиреНрдЫред рдЕрд░реНрдХреЛ рдирд╛рдордорд╛ рдорд╛рди рддреЛрдХреНрдирд╛рд▓реЗ рдпрд╕рд▓рд╛рдИ рдЕрдШрд┐рд▓реНрд▓реЛ рдирд╛рдо рдЕрдиреНрддрд░реНрдЧрдд рдкрд╣реБрдБрдЪрдпреЛрдЧреНрдп рдмрдирд╛рдЙрдБрдЫред

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдирд┐рдореНрди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреНрдпрд╛рдБрдХреНрдиреЗрдЫ: рд╕рд╛рд░рд┐рдПрдХреЛ рдорд╛рди 'x' рдХреЛ рдЙрдкрдпреЛрдЧред рдпреЛ рдХрд┐рдирднрдиреЗ рддреНрдпрд╣рд╛рдБ рдЬрдВрдЧ рдорд╛ рдХреБрдиреИ рдлреЛрд╣реЛрд░ рд╕реНрдХрд▓рди рдЫреИрдиред рдЬрдм рдЪрд░ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫрдиреН, рдореЗрдореЛрд░реА рдЙрдиреАрд╣рд░реБ рд▓рд╛рдИ рд╕рдиреНрджрд░реНрдн рдЧрд░реАрдиреНрдЫ рдореБрдХреНрдд рдЧрд░реАрдиреНрдЫред рд╕рд░рд▓ рд╢рдмреНрджрдорд╛ рднрдиреНрдиреБрд╣реЛрд╕реН, рддреНрдпрд╣рд╛рдБ рдорд╛рддреНрд░ рдбрд╛рдЯрд╛ рдХреЛ рдПрдХ "рдорд╛рд▓рд┐рдХ" рд╣реБрди рд╕рдХреНрдЫред рдпреЛ рдЙрджрд╛рд╣рд░рдг рдорд╛ x рдореВрд▓ рдорд╛рд▓рд┐рдХ рд╣реЛ рд░ рддреНрдпрд╕рдкрдЫрд┐ y рдирдпрд╛рдБ рдорд╛рд▓рд┐рдХ рдмрдиреНрдЫред рдпрд╣рд╛рдБ рдпреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрд╛рд░реЗ рдердк рдкрдвреНрдиреБрд╣реЛрд╕реНред.

рдЦреБрд▓реНрд▓рд╛ рдкреНрд░рдгрд╛рд▓реА рдорд╛ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

рддреНрдпрд╣рд╛рдБ рднреМрддрд┐рдХ рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рджреБрдИ рдЧреБрдгрд╣рд░реБ рдЫрдиреН рдХрд┐ рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдореБрд╢реНрдХрд┐рд▓ рдЫ:

  • рджреБрд░реНрд▓рднрддрд╛ (рдЕрднрд╛рд╡, рдореВрд▓рддрдГ рдЕрднрд╛рд╡)ред рдкреНрд░рдгрд╛рд▓реА рдорд╛ рд╕рдореНрдкрддреНрддрд┐ (рдЙрддреНрд╕рд░реНрдЬрди) рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдиреНрддреНрд░рдг рд╣реБрдиреБрдкрд░реНрдЫред рдЕрд╡рд╕реНрдерд┐рдд рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рдирдХреНрдХрд▓ рдирд┐рд╖реЗрдзрд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ, рд░ рдирдпрд╛рдБ рдмрдирд╛рдЙрди рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЕрдкрд░реЗрд╢рди рд╣реЛред
  • рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг... рдкреНрд░рдгрд╛рд▓реА рд╕рд╣рднрд╛рдЧреА рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдиреАрддрд┐рд╣рд░реБ рдХреЛ рдЙрдкрдпреЛрдЧ рдЧрд░реА рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рд░рдХреНрд╖рд╛ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБ рдкрд░реНрдЫред

рдпреА рджреБрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ, рдЬреЛ рднреМрддрд┐рдХ рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рд▓рд╛рдЧреА рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╣реЛ, рдбрд┐рдЬрд┐рдЯрд▓ рдмрд╕реНрддреБрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рд▓рд╛рдЧреВ рдЧрд░рд┐рдиреБ рдкрд░реНрдЫ рдпрджрд┐ рд╣рд╛рдореА рдЙрдиреАрд╣рд░реБрд▓рд╛рдИ рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рд░реВрдк рдорд╛ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рджреБрд░реНрд▓рдн рдзрд╛рддреБ рдПрдХ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрднрд╛рд╡ рдЫ, рд░ рдорд╛рддреНрд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рдпрд╕рд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рд╣рд╛рддрдорд╛ рд╕рдорд╛рддреЗрд░, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА) рд░ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдмреЗрдЪреНрди рд╡рд╛ рдЦрд░реНрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╣рд╛рдореА рдХрд╕рд░реА рдпреА рджреБрдИ рдЧреБрдг рдорд╛ рдЖрдЗрдкреБрдЧреЗрдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рдирд┐рдореНрди рд╡рд╛рдХреНрдп рд╕рдВрдЧ рд╢реБрд░реВ рдЧрд░реМрдВ:

рд╕реБрдЭрд╛рд╡ # рез: рдЕрднрд╛рд╡ рд░ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдмрд┐рдирд╛ рд╕рд░рд▓ рдирд┐рдпрдо

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

  • рдЬреА [рдХреЗ]: = рдПрди рдПрдЙрдЯрд╛ рдХреБрдЮреНрдЬреА рджреНрд╡рд╛рд░рд╛ рд╕реБрд▓рдн рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЕрдкрдбреЗрдЯ рдХреЛ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ ╨Ъ blockchain рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░рд╛рдЬреНрдп рдорд╛, рдПрдХ рдирдпрд╛рдБ рдЕрд░реНрде рд╕рдВрдЧ n.
  • рд▓реЗрдирджреЗрди l рдПрд▓рд┐рд╕, резрежрежтЯй резрежреж рдорд╛ рдПрд▓рд┐рд╕рдХреЛ рдЦрд╛рддрд╛ рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдорддрд▓рдм рдЫред

рдорд╛рдерд┐рдХреЛ рд╕рдорд╛рдзрд╛рди рдзреЗрд░реИ рдкреНрд░рдореБрдЦ рд╕рдорд╕реНрдпрд╛рд╣рд░реБ рдЫрдиреН:

  • рдПрд▓рд┐рд╕ рдорд╛рддреНрд░ рдкрдард╛рдПрд░ рд╕рд┐рдХреНрдХрд╛ рдХреЛ рдПрдХ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд▓реЗрдирджреЗрди - рдПрд▓рд┐рд╕, резрежрежтЯйред
  • рд╕рд┐рдХреНрдХрд╛ рдРрд▓рд┐рд╕ рдмрдм рдкрдард╛рдЗрдиреНрдЫ рдмреЗрдХрд╛рд░ рдЫрдиреН, рдХреЛ рд░реВрдк рдорд╛ рдмреЙрдм рдЖрдлреИрд▓рд╛рдИ рд╕рд┐рдХреНрдиреЗ рдХреЛ рдПрдХ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдПрдЙрдЯреИ рдкреНрд░рд╡рд┐рдзрд┐рдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрдард╛рдЙрди рд╕рдХреНрдЫред

рд╕реБрдЭрд╛рд╡ # реи: рдЦрд╛рддрд╛рдорд╛ рдШрд╛рдЯрд╛ рд▓рд┐рдБрджреИ

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдЕрдм рд╣рд╛рдореА рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реАрд░рд╣реЗрдХрд╛ рдЫреМрдВ рддрд╛рдХрд┐ рд╕рд┐рдХреНрдХрд╛рд╣рд░реБрдХреЛ рд╕рдВрдЦреНрдпрд╛ Ka рдХрдореНрддреАрдорд╛ рдмрд░рд╛рдмрд░ рдерд┐рдпреЛ n рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рд▓реЗрдирджреЗрди рдЕрдШрд┐ред рдЬреЗ рд╣реЛрд╕реН, рдЬрдмрдХрд┐ рдпреЛ рдЕрднрд╛рд╡ рдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдЧрд░реНрджрдЫ, рддреНрдпрд╣рд╛рдБ рдПрд▓рд┐рд╕ рдХреЛ рд╕рд┐рдХреНрдХрд╛ рдкрдард╛рдЙрди рд╕рдХреНрдЫ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдХреБрдиреИ рдЬрд╛рдирдХрд╛рд░реА рдЫреИрди (рдЕрд╣рд┐рд▓реЗ рдХреЛ рд▓рд╛рдЧреА, рдЬреЛ рдХреЛрд╣рд┐ рдпреЛ рдЧрд░реНрди рд╕рдХреНрдЫрдиреН, рдореБрдЦреНрдп рдХреБрд░рд╛ рд░рдХрдо рд╕реАрдорд┐рдд рдЧрд░реНрдиреЗ рдирд┐рдпрдо рдХреЛ рдЙрд▓реНрд▓рдВрдШрди рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЫреИрди)ред

рдкреНрд░рд╕реНрддрд╛рд╡ # рей: рдЕрднрд╛рд╡ рд░ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдХреЛ рд╕рдВрдпреЛрдЬрди

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореА рдПрдХ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрдВрддреНрд░ рд╕рдВрдЧ рдпреЛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдорд╛рдзрд╛рди verify_sig рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБ рдЕрдШрд┐, рдЬрд╕рдХреЛ рдорддрд▓рдм рдПрд▓рд┐рд╕ рд▓реЗрдирджреЗрди рдорд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЙрдирдХреЛ рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рдХреЛ рдЙрдкрдпреЛрдЧ рдЧрд░реНрджрдЫ рд░ рдкреБрд╖реНрдЯрд┐ рдЧрд░реНрджрдЫ рдХрд┐ рдЙрдиреА рдЖрдлреНрдиреЛ рд╕рд┐рдХреНрдХрд╛ рдХреЛ рдорд╛рд▓рд┐рдХ рд╣реЛред

Blockchain рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рд╣рд░реБ

рдЕрд╡рд╕реНрдерд┐рдд blockchain рднрд╛рд╖рд╛рд╣рд░реБ рдирд┐рдореНрди рд╕рдорд╕реНрдпрд╛рд╣рд░реБрдХреЛ рд╕рд╛рдордирд╛ (рддреА рд╕рдмреИ рд╣рд▓ рдорд╛ рд╣рд▓ рдерд┐рдП (рдиреЛрдЯ: рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд▓реЗрдЦ рдХреЛ рд▓реЗрдЦрдХ рдорд╛рддреНрд░ рдЖрдлреНрдиреЛ рддреБрд▓рдирд╛ рдорд╛ Ethereum рдХреЛ рдЕрдкреАрд▓ рдЧрд░реНрджрдЫ, рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдЙрдиреАрд╣рд░реБрд▓рд╛рдИ рдорд╛рддреНрд░ рдпреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рд▓рд┐рди рд▓рд╛рдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдирд┐рдореНрди рдордзреНрдпреЗ рдзреЗрд░реИ рдЬрд╕реЛ рдИрдУрдПрд╕ рдорд╛ рд╣рд▓ рдЧрд░реАрдПрдХреЛ рдЫред)):

рд╕рдореНрдкрддреНрддрд┐рдХреЛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред рдХреБрдиреИ рд╕рдореНрдкрддреНрддрд┐ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдкреВрд░реНрдгрд╛рдЩреНрдХрдХреЛ рдорд╛рди рд╕рдореНрдкрддреНрддрд┐ рдЬрд╕реНрддреИ рд╣реБрдБрджреИрдиред рд╡рд╛рд╕реНрддрд╡рдорд╛, рдмрд┐рдЯрдХреЛрдЗрди / рдИрдерд░ / <рдХреБрдиреИ рд╕рд┐рдХреНрдХрд╛> рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрдиреЗ рдХреБрдиреИ рдкреНрд░рдХрд╛рд░ рд╡рд╛ рдорд╛рди рдЫреИрди! рдпрд╕рд▓реЗ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рд▓реЗрдЦреНрди рдЧрд╛рд╣реНрд░реЛ рд░ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рдмрдирд╛рдЙрдБрдЫред рдврд╛рдБрдЪрд╛рд╣рд░реВ рдЬрд╕реНрддреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдорд╛/рдмрд╛рдЯ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрди рд╡рд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдорд╛ рд╕рдореНрдкрддреНрддрд┐рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рднрд╛рд╖рд╛рдмрд╛рдЯ рд╡рд┐рд╢реЗрд╖ рд╕рдорд░реНрдерди рдЪрд╛рд╣рд┐рдиреНрдЫред

рдШрд╛рдЯрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдЫреИрди... рднрд╛рд╖рд╛ рдорд╛рддреНрд░ рдПрдХ рджреБрд░реНрд▓рдн рд╕рдореНрдкрддреНрддрд┐ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЧрд░реНрджрдЫред рдпрд╕ рдмрд╛рд╣реЗрдХ, рдЕрднрд╛рд╡ рдХреЛ рдмрд┐рд░реБрджреНрдз рдЙрдкрд╛рдпрд╣рд░реБ рд▓рд╛рдИ рд╕реАрдзреИ рднрд╛рд╖рд╛ рдХреЛ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдорд╛ hardwired рдЫрдиреНред рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛, рдпрджрд┐ рдЙрдиреА рдПрдХ рдХрд╕реНрдЯрдо рд╕рдореНрдкрддреНрддрд┐ рдмрдирд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫрдиреН, рдзреНрдпрд╛рди рджрд┐рдПрд░ рд╕рдВрд╕рд╛рдзрди рдЖрдлреИрдВ рд╕рдмреИ рдкрдХреНрд╖рд╣рд░реБ рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрдиреБ рдкрд░реНрдЫред рдпреА рдмрд┐рд▓реНрдХреБрд▓ Ethereum рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛред

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реБ рдЖрдлреНрдиреЛ рд╕рдореНрдкрддреНрддрд┐, ERC-20 рдЯреЛрдХрди, рджреБрдмреИ рдореВрд▓реНрдп рд░ рдХреБрд▓ рдЖрдкреВрд░реНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ рдЙрдкрдпреЛрдЧ рдЧрд░реА рдЬрд╛рд░реАред рдЬрдм рдкрдирд┐ рдирдпрд╛рдБ рдЯреЛрдХрдирд╣рд░реБ рдмрдирд╛рдИрдиреНрдЫ, рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛрдб рд╕реНрд╡рддрдиреНрддреНрд░ рд░реВрдк рдмрд╛рдЯ рдЙрддреНрд╕рд░реНрдЬрди рдирд┐рдпрдорд╣рд░реБ рд╕рдВрдЧ рдЕрдиреБрдкрд╛рд▓рди рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрдиреБ рдкрд░реНрдЫред рдпрд╕рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рд╕реНрддреБрддрд┐, рдХреЗрд╣рд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдЧрдореНрднреАрд░ рддреНрд░реБрдЯрд┐рд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рдиреЗрддреГрддреНрд╡ рдЧрд░реНрджрдЫ - рджреЛрд╣реЛрд░реЛ, рджреЛрд╣реЛрд░реЛ рдЦрд░реНрдЪ рд╡рд╛ рд╕рдореНрдкрддреНрддрд┐ рдХреЛ рдкреВрд░реНрдг рд╣рд╛рдирд┐ред

рд▓рдЪрд┐рд▓реЛ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдХреЛ рдХрдореА... рдЖрдЬ рдЙрдкрдпреЛрдЧ рдорд╛ рдорд╛рддреНрд░ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдиреАрддрд┐ рдЕрд╕рдордорд┐рдд рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЛ рдЙрдкрдпреЛрдЧ рдЧрд░реА рдПрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдпреЛрдЬрдирд╛ рд╣реЛред рдЕрднрд╛рд╡ рд╕рдВрд░рдХреНрд╖рдг рдЬрд╕реНрддреИ, рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдиреАрддрд┐рд╣рд░реБ рднрд╛рд╖рд╛ рдХреЛ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдорд╛ рдЧрд╣рд┐рд░реЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдЫрдиреНред рддрд░ рдХрд╕рд░реА рднрд╛рд╖рд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реБ рд▓рд╛рдИ рдЖрдлреНрдиреИ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рдиреАрддрд┐рд╣рд░реБ рд▓рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЕрдиреБрдорддрд┐ рджрд┐рди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдзреЗрд░реИ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реЛред

рдпреЛ Ethereum рдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рд╕рддреНрдп рд╣реЛ, рдЬрд╣рд╛рдБ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВрдорд╛ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреАрдХреЛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд┐рдн рд╕рдорд░реНрдерди рдЫреИрдиред рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рдкрд╣реБрдБрдЪ рдирд┐рдпрдиреНрддреНрд░рдг рд▓реЗрдЦреНрдиреБ рдкрд░реНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, OnlyOwner рдкрд░рд┐рдорд╛рд░реНрдЬрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред

рдпрджреНрдпрдкрд┐ рдо Ethereum рдХреЛ рдПрдХ рдареВрд▓реЛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реБрдБ, рдорд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЫ рдХрд┐ рд╕рдореНрдкрддреНрддрд┐ рдЧреБрдгрд╣рд░реВ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрд╛рд╖рд╛ рджреНрд╡рд╛рд░рд╛ рдореВрд▓ рд░реВрдкрдорд╛ рд╕рдорд░реНрдерд┐рдд рд╣реБрдиреБрдкрд░реНрдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдИрдерд░рд▓рд╛рдИ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрдорд╛ рдкрд╛рд╕ рдЧрд░реНрдирд╛рд▓реЗ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЗрд╖рдг рд╕рдХреНрд╖рдо рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдмрдЧрд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд╡рд░реНрдЧрдХреЛ рдкрд░рд┐рдЪрдп рджрд┐рдпреЛ рдЬрд╕рд▓рд╛рдИ рдкреБрди: рдкреНрд░рд╡реЗрд╢ рдЬреЛрдЦрд┐рдорд╣рд░реВ рднрдирд┐рдиреНрдЫред рдпрд╣рд╛рдБ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░реЗрд╖рдгрдХреЛ рдЕрд░реНрде рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрд░реНрдХ рд░рди рдЯрд╛рдЗрдо (рдЧрддрд┐рд╢реАрд▓) рдорд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреЗрдЫ рд░ рдХрдореНрдкрд╛рдЗрд▓ рд╕рдордп (рд╕реНрдерд┐рд░) рдорд╛ рд╣реЛрдЗрдиред

рддрд╕рд░реНрде, рд╕реЛрд▓рд┐рдбрд┐рдЯреАрдорд╛, рдЬрдм рдЕрдиреБрдмрдВрдз A рд▓реЗ рдЕрдиреБрдмрдВрдз B рдХреЛ рдХрд╛рд░реНрдпрд▓рд╛рдИ рдХрд▓ рдЧрд░реНрджрдЫ, рдЕрдиреБрдмрдВрдз B рд▓реЗ рдХреЛрдб рдЪрд▓рд╛рдЙрди рд╕рдХреНрдЫ рдЬреБрди рдЕрдиреБрдмрдВрдз A рдХреЛ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдЕрднрд┐рдкреНрд░реЗрдд рдерд┐рдПрди, рдЬрд╕рд▓реЗ рдирд┐рдореНрддреНрдпрд╛рдЙрди рд╕рдХреНрдЫред рдкреБрди: рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрдордЬреЛрд░реАрд╣рд░реВ (рд╕рдореНрдЭреМрддрд╛ A рд▓реЗ рд╕рдВрдпреЛрдЧрд╡рд╢ рдЦрд╛рддрд╛рдмрд╛рдЯ рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рдХрд╛рдЯреНрдиреБ рдЕрдШрд┐ рдкреИрд╕рд╛ рдЭрд┐рдХреНрди рд╕рдореНрдЭреМрддрд╛ B рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрджрдЫ)ред

рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрди рдЖрдзрд╛рд░рднреВрддрд╣рд░реВ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдкрд╣рд┐рд▓реЛ рдЕрд░реНрдбрд░ рд╕рдВрд╕рд╛рдзрди

рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдорд╛, рд╕рд╛рд░реНрдиреЗ рднрд╛рд╖рд╛ рдорд╛ рдореЛрдбреНрдпреБрд▓ / рд╕рдВрд╕рд╛рдзрдирд╣рд░реБ / рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБ рдХреЛ рдмреАрдЪ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдзреЗрд░реИ рдХрдХреНрд╖рд╛ / рд╡рд╕реНрддреБрд╣рд░реБ рд░ OOP рднрд╛рд╖рд╛рд╣рд░реБ рдорд╛ рд╡рд┐рдзрд┐рд╣рд░реБ рдХреЛ рдмреАрдЪ рд╕рдореНрдмрдиреНрдз рдХреЛ рд╕рдорд╛рди рдЫред
рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рдореЛрдбреНрдпреБрд▓рд╣рд░реБ рдЕрдиреНрдп blockchains рдорд╛ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдЬрд╕реНрддреИ рдЫрдиреНред рдореЛрдбреНрдпреБрд▓рд▓реЗ рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░ рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБ рдХреЛ рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрдЫ рдХрд┐ рдШреЛрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдирд╣рд░реБ рдХреЛ рдирд┐рд░реНрдорд╛рдг, рдирд╖реНрдЯ, рд░ рдЕрдкрдбреЗрдЯ рдХреЛ рд▓рд╛рдЧреА рдирд┐рдпрдорд╣рд░реБ рд▓рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред рддрд░ рдпреА рд╕рдмреИ рдорд╛рддреНрд░ рдЕрдзрд┐рд╡реЗрд╢рди рд╣реБрдиреН ("jargon") рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА рдпреЛ рдмрд┐рдиреНрджреБ рдЕрд▓рд┐ рдкрдЫрд┐ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрдиреЗрдЫреМрдВред

рд▓рдЪрд┐рд▓реЛрдкрди

Move рд▓реЗ рд▓рд┐рдмреНрд░рд╛рдорд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рдорд╛рд░реНрдлрдд рд▓рдЪрд┐рд▓реЛрдкрди рдердкреНрдЫред рддреБрд▓рд╛ рд░рд╛рд╢рд┐рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдирджреЗрдирдорд╛ рд▓рд┐рдкрд┐ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреНрдЫ, рдЬреБрди рд╡рд╛рд╕реНрддрд╡рдорд╛ рд▓реЗрдирджреЗрдирдХреЛ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдпрд╛ рдд рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдЧрд░реНрди рд╕рдХреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реВрдЪреАрдорд╛ рднреБрдХреНрддрд╛рдиреА рдЧрд░реНрди, рд╡рд╛ рдЕрдиреНрдп рд╕реНрд░реЛрддрд╣рд░реВ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рдХрд▓ рдЧрд░реЗрд░ред рдпрд╕реИрд▓реЗ рд▓реЗрдирджреЗрди рд▓рд┐рдкрд┐рд╣рд░реВ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рдзреЗрд░реИ рд▓рдЪрд┐рд▓реЛрдкрди рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдПрдХ-рдкрдЯрдХ рд░ рджреЛрд╣реЛрд░рд┐рдиреЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╣рд░реВ рджреБрд╡реИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫ, рдЬрдмрдХрд┐ Ethereum рд▓реЗ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд▓рд┐рдкрд┐рд╣рд░реВ рдорд╛рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХреНрдЫ (рдПрдХрд▓ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╡рд┐рдзрд┐ рдХрд▓ рдЧрд░реНрджреИ)ред рдпрд╕рд▓рд╛рдИ "рджреЛрд╣реЛрд░рд┐рдиреЗ" рднрдирд┐рдиреНрдЫ рдХрд┐рдирднрдиреЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрд╛рд░реНрдпрд╣рд░реВ рдзреЗрд░реИ рдкрдЯрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред (рдиреЛрдЯ: рдпрд╣рд╛рдБ рдХреНрд╖рдг рдзреЗрд░реИ рд╕реВрдХреНрд╖реНрдо рдЫред рдПрдХрд╛рддрд┐рд░, рдмрд┐рдЯрдХреЛрдЗрдирдорд╛ рд╕реНрдпреВрдбреЛ-рдмрд╛рдЗрдЯрдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рд▓реЗрдирджреЗрди рд▓рд┐рдкрд┐рд╣рд░реВ рдЫрдиреНред рдЕрд░реНрдХреЛрддрд░реНрдл, рдореИрд▓реЗ рдмреБрдЭреЗ рдЕрдиреБрд╕рд╛рд░, Move рд▓реЗ рдпрд╕ рднрд╛рд╖рд╛рд▓рд╛рдИ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдкреВрд░реНрдг рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рднрд╛рд╖рд╛рдХреЛ рд╕реНрддрд░рдорд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрджрдЫред).

рд╕реБрд░рдХреНрд╖рд╛

рдореВрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдврд╛рдБрдЪрд╛ рдмрд╛рдЗрдЯрдХреЛрдб рд╣реЛ, рдЬреБрди рдПрдХрд╛рддрд┐рд░, рдПрд╕реЗрдореНрдмрд▓рд░ рднрдиреНрджрд╛ рдЙрдЪреНрдЪ-рд╕реНрддрд░рдХреЛ рднрд╛рд╖рд╛ рд╣реЛ, рддрд░ рд╕реНрд░реЛрдд рдХреЛрдб рднрдиреНрджрд╛ рдХрдо-рд╕реНрддрд░ред рдмрд╛рдЗрдЯрдХреЛрдб рдкреНрд░рдорд╛рдгрд┐рдХрд░рдгрдХрд░реНрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдВрд╕рд╛рдзрди, рдкреНрд░рдХрд╛рд░ рд░ рдореЗрдореЛрд░реА рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд░рди-рдЯрд╛рдЗрдо (рдЕрди-рдЪреЗрди) рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рджреЛрднрд╛рд╖реЗрджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫред рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрд▓реЗ рд╕реНрд░реЛрдд рдХреЛрдбрдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрди Move рд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рддрд░ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрдореНрдкрд╛рдЗрд▓рд░ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдирд╛ред рдмрд╛рдЗрдЯрдХреЛрдб рднрд╛рд╖рд╛ рд╕рд╛рд░реНрдиреБ рд╕рд╛рдБрдЪреНрдЪреИ рд░рд╛рдореНрд░реЛ рд╡рд┐рдЪрд╛рд░ рд╣реЛред рдпреЛ рд╕реНрд░реЛрддрдмрд╛рдЯ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди, рдЬрд╕реНрддреИ рдареЛрд╕рддрд╛ рдХреЛ рдорд╛рдорд▓рд╛ рдорд╛, рд╕рдореНрднрд╛рд╡рд┐рдд рд╡рд┐рдлрд▓рддрд╛ рд╡рд╛ рдХрдореНрдкрд╛рдЗрд▓рд░ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рдорд╛ рдЖрдХреНрд░рдордг рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЪрд┐рдиреНрддрд╛ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЫреИрдиред

рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг

рд╣рд╛рдореА рдЪреЗрдХрд▓рд╛рдИ рд╕рдХреЗрд╕рдореНрдо рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдиреЗ рд▓рдХреНрд╖реНрдп рд░рд╛рдЦреНрдЫреМрдВ, рдХрд┐рдирдХрд┐ рдпреЛ рд╕рдмреИ рдЕрди-рдЪреЗрдирдорд╛ рд╣реБрдиреНрдЫ (рдиреЛрдЯ: рдЕрдирд▓рд╛рдЗрди, рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдирджреЗрди рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд╕рдордпрдорд╛, рддреНрдпрд╕реИрд▓реЗ рдХреБрдиреИ рдкрдиреА рдврд┐рд▓рд╛рдЗ рд╕рдореНрдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдПрдХ рдордиреНрджреА рдХреЛ рд▓рд╛рдЧреА рдЬрд╛рдиреНрдЫ), рддрд░ рд╕реБрд░реБрдорд╛ рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрди рдЕрдл-рдЪреЗрди рд╕реНрдерд┐рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рддрдпрд╛рд░ рдЫред рдпрджреНрдпрдкрд┐ рдпреЛ рдЕрдЭ рд░рд╛рдореНрд░реЛ рдЫ, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╡рд┐рдХрд╛рд╕ (рдЕрд▓рдЧ рдЯреБрд▓рдХрд┐рдЯрдХреЛ рд░реВрдкрдорд╛) рднрд╡рд┐рд╖реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдердЧрд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рд░рди-рдЯрд╛рдЗрдо (рдЕрди-рдЪреЗрди) рдорд╛ рдорд╛рддреНрд░ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╣рд╛рд▓ рд╕рдорд░реНрдерд┐рдд рдЫред

рдореЛрдбреБрд▓рд░рд┐рдЯреА

рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рдореЛрдбреНрдпреБрд▓ рдбрд╛рдЯрд╛ рдЕрдореВрд░реНрдд рдкреНрд░рджрд╛рди рд░ рд╕рдВрд╕рд╛рдзрдирд╣рд░реБ рдорд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдЪрд╛рд▓рди рд╕реНрдерд╛рдиреАрдпрдХрд░рдгред рдореЛрдбреНрдпреБрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ encapsulation, рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдЧ рд╕рдВрдпреБрдХреНрдд, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрджрдЫ рдХрд┐ рдореЛрдбреНрдпреБрд▓ рдХреЛ рдкреНрд░рдХрд╛рд░ рдорд╛ рд╕реЗрдЯ рдЧрд░реАрдПрдХреЛ рдореЛрдбреНрдпреБрд▓ рдмрд╛рд╣рд┐рд░ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реНрдШрди рдЧрд░реНрди рд╕рдХрд┐рджреИрдиред рдпреЛ рдПрдХ рд░рд╛рдореНрд░реЛ рддрд░рд┐рдХрд╛рд▓реЗ рд╕реЛрдЪ-рдмрд╛рд╣рд┐рд░ рдЕрдореВрд░реНрдд рдбрд┐рдЬрд╛рдЗрди рд╣реЛ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдЕрдиреБрдмрдВрдз рднрд┐рддреНрд░ рдбрд╛рдЯрд╛ рдорд╛рддреНрд░ рдЕрдиреБрдмрдВрдз рдХреЛ рд░реВрдкрд░реЗрдЦрд╛ рднрд┐рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдмрд╛рд╣рд┐рд░ рдЫреИрдиред

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рд▓реЗрдирджреЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛рдЙрдБрдЫ рдХрд┐ рдПрдХ рдореЛрдбреНрдпреБрд▓ рдмрд╛рд╣рд┐рд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рд╡рд╛ рд▓рд╛рдкрд░рдмрд╛рд╣реА рдХрд╛рд░реНрдпрд╣рд░реБ рдПрдХ рдореЛрдбреНрдпреБрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрдирд╣рд░реБ рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдЧ рд╕рдореНрдЭреМрддрд╛ рдЧрд░реНрди рд╕рдХреНрджреИрдиред рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рдХрд╕рд░реА рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА рдореЛрдбреНрдпреБрд▓, рд╕рдВрд╕рд╛рдзрдирд╣рд░реБ, рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рддреБрд▓рд╛ blockchain рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓рд╛рдЧреА рд╣реЗрд░реНрдиреЗрдЫреМрдВред

рд╕рд╣рдХрд░реНрдореА рд╕рд╣рдХрд░реНрдореА рднреБрдХреНрддрд╛рдиреА

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рд░рдХрдордорд╛ рддреЛрдХрд┐рдПрдХреЛ рд╕рд┐рдХреНрдХрд╛рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░реЗрд╖рдХрдХреЛ рдмреНрдпрд╛рд▓реЗрдиреНрд╕рдмрд╛рдЯ рдкреНрд░рд╛рдкрдХрд▓рд╛рдИ рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░рд┐рдиреЗрдЫред
рдпрд╣рд╛рдБ рдзреЗрд░реИ рдирдпрд╛рдБ рдмрд┐рдиреНрджреБрд╣рд░реВ рдЫрдиреН (рд░рд╛рддреЛ рд╢рд┐рд▓рд╛рд▓реЗрдЦрдорд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░рд┐рдПрдХреЛ):

  • 0x0: рдЦрд╛рддрд╛ рдХреЛ рдареЗрдЧрд╛рдирд╛ рдЬрд╣рд╛рдБ рдореЛрдбреНрдпреБрд▓ рднрдгреНрдбрд╛рд░рдг рдЧрд░реАрдПрдХреЛ рдЫ
  • рдореБрджреНрд░рд╛: рдореЛрдбреНрдпреБрд▓ рдирд╛рдо
  • рд╕рд┐рдХреНрдХрд╛: рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдХрд╛рд░
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдлрд┐рд░реНрддрд╛ рдЧрд░рд┐рдПрдХреЛ рд╕рд┐рдХреНрдХрд╛ рдорд╛рди 0x0.Currency.Coin рдкреНрд░рдХрд╛рд░ рдХреЛ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдореВрд▓реНрдп рд╣реЛ
  • рдЪрд▓реНрдиреБ (): рдореВрд▓реНрдп рдлреЗрд░рд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди
  • рдХрд╛рдкреА (): рдореВрд▓реНрдп рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ

рдХреЛрдб рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН: рдкрд╣рд┐рд▓реЛ рдЪрд░рдг рдорд╛, рдкреНрд░реЗрд╖рдХ рдирд╛рдо рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд▓ рдЧрд░реНрджрдЫ рдлрд┐рд░реНрддрд╛_рдмрд╛рдЯ_рд╕реЗрдиреНрдбрд░ рдорд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдПрдХ рдореЛрдбреНрдпреБрд▓ рдмрд╛рдЯ 0x0 рдореБрджреНрд░рд╛ред рджреЛрд╕реНрд░реЛ рдЪрд░рдгрдорд╛, рдкреНрд░реЗрд╖рдХрд▓реЗ рд╕рд┐рдХреНрдХрд╛ рд╕реНрд░реЛрддрдХреЛ рдореВрд▓реНрдпрд▓рд╛рдИ рдореЛрдбреНрдпреБрд▓рдХреЛ рдЬрдореНрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рд╛рд░реЗрд░ рдкреНрд░рд╛рдкрдХрд▓рд╛рдИ рд░рдХрдо рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░реНрджрдЫред 0x0 рдореБрджреНрд░рд╛.

рдпрд╣рд╛рдБ рдХреЛрдбрдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рддреАрди рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫрдиреН рдЬреБрди рдЬрд╛рдБрдЪрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреЗрдЫ:
рдХрд▓ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрд░ рдирдХреНрдХрд▓реА рдзрди рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН (рд╕рд┐рдХреНрдХрд╛) рдорд╛ рдкреНрд░рддрд┐ (рд╕рд┐рдХреНрдХрд╛)ред рд╕реНрд░реЛрддрд╣рд░реВ рдорд╛рддреНрд░ рд╕рд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╕реНрд░реЛрддрдХреЛ рд░рдХрдо рдирдХреНрдХрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрд▓ рдЧрд░реЗрд░ рдкреНрд░рддрд┐ (рд╕рд┐рдХреНрдХрд╛) рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдг рдорд╛) bytecode рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛ рддреНрд░реБрдЯрд┐ рдорд╛ рдкрд░рд┐рдгрд╛рдо рд╣реБрдиреЗрдЫред

рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрд░ рдХреЛрд╖ рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН (рд╕рд┐рдХреНрдХрд╛) рджреБрдИ рдкрдЯрдХ ред рд▓рд╛рдЗрди рдердкреНрджреИ 0x0.Currency.deposit(рдкреНрд░рддрд┐рд▓рд┐рдкрд┐(some_other_payee), рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН(coin)) рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдкреНрд░реЗрд╖рдХрд▓рд╛рдИ рд╕рд┐рдХреНрдХрд╛ рджреБрдИ рдкрдЯрдХ "рдЦрд░реНрдЪ" рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ - рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ рднреБрдХреНрддрд╛рдиреАрдХрд░реНрддрд╛рд╕рдБрдЧ, рд░ рджреЛрд╕реНрд░реЛ рдкрдЯрдХ рдХреЗрд╣рд┐_рдЕрдиреНрдп_рднреБрдХреНрддрд╛рдиреА рдЧрд░реНрдиреЗред рдпреЛ рдПрдХ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛ рдЬреБрди рднреМрддрд┐рдХ рд╕рдореНрдкрддреНрддрд┐ рд╕рдВрдЧ рд╕рдореНрднрд╡ рдЫреИрдиред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, Move рд▓реЗ рдпреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗрдЫред

рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХреЛ рдХрд╛рд░рдг рдХреЛрд╖ рдХреЛ рд╣рд╛рдирд┐ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН (рд╕рд┐рдХреНрдХрд╛)ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрд░реЛрдд рд╕рд╛рд░реНрдиреБрд╣реБрдиреНрди рднрдиреЗ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рдорд╛рд╡реЗрд╢ рд░реЗрдЦрд╛ рд╣рдЯрд╛рдПрд░ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН (рд╕рд┐рдХреНрдХрд╛)), рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг рддреНрд░реБрдЯрд┐ рдЙрдард╛рдЗрдиреЗрдЫред рдпрд╕рд▓реЗ рдореВрдн рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓рд╛рдИ рдЖрдХрд╕реНрдорд┐рдХ рд╡рд╛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдзрдирдХреЛ рд╣рд╛рдирд┐рдмрд╛рдЯ рдЬреЛрдЧрд╛рдЙрдБрдЫред

рдореБрджреНрд░рд╛ рдореЛрдбреНрдпреБрд▓

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдкреНрд░рддреНрдпреЗрдХ рдЦрд╛рддрд╛рдорд╛ реж рд╡рд╛ рдмрдвреА рдореЛрдбреНрдпреБрд▓рд╣рд░реВ (рдмрдХреНрд╕рдХреЛ рд░реВрдкрдорд╛ рдЪрд┐рддреНрд░рдг рдЧрд░рд┐рдПрдХреЛ) рд░ рдПрдХ рд╡рд╛ рдмрдвреА рд╕реНрд░реЛрдд рдорд╛рдирд╣рд░реВ (рд╕рд┐рд▓рд┐рдиреНрдбрд░рд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ рдЪрд┐рддреНрд░рдг рдЧрд░рд┐рдПрдХреЛ) рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдорд╛ рдПрдХ рдЦрд╛рддрд╛ 0x0 рдореЛрдбреНрдпреБрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ 0x0 рдореБрджреНрд░рд╛ рд░ рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реНрд░реЛрдд рдореВрд▓реНрдп 0x0.Currency.Coinред рдареЗрдЧрд╛рдирд╛рдорд╛ рдЦрд╛рддрд╛ 0x1 рджреБрдИ рд╕реНрд░реЛрдд рд░ рдПрдХ рдореЛрдбреНрдпреБрд▓ рдЫ; рдареЗрдЧрд╛рдирд╛рдорд╛ рдЦрд╛рддрд╛ 0x2 рджреБрдИ рдореЛрдбреНрдпреБрд▓ рд░ рдПрдЙрдЯрд╛ рд╕реНрд░реЛрдд рдорд╛рди рдЫред

рдиреЗрдХреЛрдЯреЛрд░реА рдкрд▓рд╣рд░реВ:

  • рд▓реЗрдирджреЗрди рд▓рд┐рдкрд┐ рдкрд░рдорд╛рдгреБ рдЫ - рдпрд╛ рдд рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╡рд╛ рдмрд┐рд▓реНрдХреБрд▓реИ рд╣реЛрдЗрдиред
  • рдореЛрдбреНрдпреБрд▓ рднрдиреЗрдХреЛ рд▓рд╛рдореЛ рд╕рдордпрд╕рдореНрдо рдЪрд▓реНрдиреЗ рдХреЛрдб рд╣реЛ рдЬреБрди рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд░реВрдкрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫред
  • рдЧреНрд▓реЛрдмрд▓ рд╕реНрдЯреЗрдЯ рдПрдХ рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рдХреЛ рд░реВрдкрдорд╛ рд╕рдВрд░рдЪрд┐рдд рдЫ, рдЬрд╣рд╛рдБ рдЦрд╛рддрд╛ рдареЗрдЧрд╛рдирд╛ рдХреБрдЮреНрдЬреА рд╣реЛ
  • рдЦрд╛рддрд╛рд╣рд░реВрдорд╛ рджрд┐рдЗрдПрдХреЛ рдкреНрд░рдХрд╛рд░рдХреЛ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рд╕реНрд░реЛрдд рдорд╛рди рд░ рджрд┐рдЗрдПрдХреЛ рдирд╛рдордХреЛ рд╕рд╛рде рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдореЛрдбреНрдпреБрд▓ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрджреИрди (рдорд╛ рдЦрд╛рддрд╛ 0x0 рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрдд рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрджреИрди 0x0.Currency.Coin рд╡рд╛ рдирд╛рдордХреЛ рдЕрд░реНрдХреЛ рдореЛрдбреНрдпреБрд▓ рдореБрджреНрд░рд╛)
  • рдШреЛрд╖рд┐рдд рдореЛрдбреНрдпреБрд▓рдХреЛ рдареЗрдЧрд╛рдирд╛ рдкреНрд░рдХрд╛рд░рдХреЛ рдЕрдВрд╢ рд╣реЛ (0x0.Currency.Coin ╨╕ 0x1.Currency.Coin рдЫреБрдЯреНрдЯрд╛рдЫреБрдЯреНрдЯреИ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд╣реБрдиреН рдЬреБрди рдПрдХрдЕрд░реНрдХрд╛рд╕рдБрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди)
  • рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЕрдиреБрдХреВрд▓рди рд╕реНрд░реЛрдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реЗрд░ рдЦрд╛рддрд╛рдорд╛ рджрд┐рдЗрдПрдХреЛ рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░рдХреЛ рдзреЗрд░реИ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХреНрдЫрдиреН - (рд╕реНрд░реЛрдд TwoCoins {c1: 0x0.Currency.Coin, c2: 0x0.Currency.Coin})
  • рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рджреНрд╡рдиреНрджреНрд╡ рдмрд┐рдирд╛ рд╕реНрд░реЛрддрд▓рд╛рдИ рдпрд╕рдХреЛ рдирд╛рдорджреНрд╡рд╛рд░рд╛ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рджреБрдИ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ TwoCoins.c1 ╨╕ TwoCoins.c2.

рд╕рд┐рдХреНрдХрд╛ рд╕реНрд░реЛрдд рдШреЛрд╖рдгрд╛

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН
рдирд╛рдорд┐рдд рдореЛрдбреНрдпреБрд▓ рдореБрджреНрд░рд╛ рд░ рдирд╛рдордХ рд╕реНрд░реЛрдд рдкреНрд░рдХрд╛рд░ рд╕рд┐рдХреНрдХрд╛

рдиреЗрдХреЛрдЯреЛрд░реА рдкрд▓рд╣рд░реВ:

  • рд╕рд┐рдХреНрдХрд╛ рдкреНрд░рдХрд╛рд░рдХреЛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рднрдПрдХреЛ рд╕рдВрд░рдЪрдирд╛ рд╣реЛ u64 (ремрек-рдмрд┐рдЯ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ)
  • рдХреЗрд╡рд▓ рдореЛрдбреНрдпреБрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдореБрджреНрд░рд╛ рдкреНрд░рдХрд╛рд░рдХреЛ рдорд╛рдирд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рд╡рд╛ рдирд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ рд╕рд┐рдХреНрдХрд╛.
  • рдЕрдиреНрдп рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрд▓реЗ рдореЛрдбреНрдпреБрд▓рджреНрд╡рд╛рд░рд╛ рдЙрдкрд▓рдмреНрдз рдЧрд░рд╛рдЗрдПрдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдорд╛рд░реНрдлрдд рдореВрд▓реНрдп рдХреНрд╖реЗрддреНрд░рд▓рд╛рдИ рдорд╛рддреНрд░ рд▓реЗрдЦреНрди рд╡рд╛ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред

рдирд┐рдХреНрд╖реЗрдк рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╕реНрд░реЛрдд рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджрдЫ рд╕рд┐рдХреНрдХрд╛ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рд░ рдпрд╕рд▓рд╛рдИ рд╕реНрд░реЛрддрд╕рдБрдЧ рдЬреЛрдбреНрджрдЫ рд╕рд┐рдХреНрдХрд╛рд▓рд╛рднрд╛рд░реНрдереАрдХреЛ рдЦрд╛рддрд╛рдорд╛ рднрдгреНрдбрд╛рд░рдг:

  1. рдЗрдирдкреБрдЯ рд╕реНрд░реЛрдд рд╕рд┐рдХреНрдХрд╛ рдирд╖реНрдЯ рдЧрд░реНрджреИ рд░ рдпрд╕рдХреЛ рдореВрд▓реНрдп рд▓реЗрдЦреНрджреИред
  2. рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдХреЛ рдЦрд╛рддрд╛рдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕рд┐рдХреНрдХрд╛ рд╕реНрд░реЛрддрдХреЛ рд▓рд┐рдЩреНрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИред
  3. рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд▓ рдЧрд░реНрджрд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ рдкрд╛рд░рд┐рдд рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рд╕рд┐рдХреНрдХрд╛ рд╕рдВрдЦреНрдпрд╛рдХреЛ рдореВрд▓реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджреИред

рдиреЗрдХреЛрдЯреЛрд░реА рдкрд▓рд╣рд░реВ:

  • рдЕрдирдкреНрдпрд╛рдХ, BorrowGlobal - рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ
  • рдЕрдирдкреНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдпреЛ T рдкреНрд░рдХрд╛рд░рдХреЛ рд╕реНрд░реЛрдд рдореЗрдЯрд╛рдЙрдиреЗ рдПрдХ рдорд╛рддреНрд░ рддрд░рд┐рдХрд╛ рд╣реЛред рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рд╕реНрд░реЛрддрд▓рд╛рдИ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рд▓рд┐рдиреНрдЫ, рдпрд╕рд▓рд╛рдИ рдирд╖реНрдЯ рдЧрд░реНрдЫ, рд░ рд╕реНрд░реЛрддрдХреЛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдорд╛рди рдлрд░реНрдХрд╛рдЙрдБрдЫред
  • рдЙрдзрд╛рд░реЛ рдЧреНрд▓реЛрдмрд▓ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рдареЗрдЧрд╛рдирд╛ рд▓рд┐рдиреНрдЫ рд░ рддреНрдпреЛ рдареЗрдЧрд╛рдирд╛рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд (рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рднрдПрдХреЛ) T рдХреЛ рдЕрджреНрд╡рд┐рддреАрдп рдЙрджрд╛рд╣рд░рдгрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫред
  • &mut рд╕рд┐рдХреНрдХрд╛ рдпреЛ рд╕рдВрд╕рд╛рдзрдирдХреЛ рд▓рд┐рдЩреНрдХ рд╣реЛ рд╕рд┐рдХреНрдХрд╛

рдкреНрд░реЗрд╖рдХрдмрд╛рдЯ рдирд┐рдХрд╛рд▓реНрдиреЗ_рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдЧреВ рдЧрд░реНрджреИ

рдлреЗрд╕рдмреБрдХрдХреЛ рд▓рд┐рдмреНрд░рд╛ рдмреНрд▓рдХрдЪреЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛:

  1. рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕реНрд░реЛрддрдХреЛ рд▓рд┐рдЩреНрдХ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫ рд╕рд┐рдХреНрдХрд╛, рдкреНрд░реЗрд╖рдХрдХреЛ рдЦрд╛рддрд╛рдорд╛ рд▓рд┐рдЩреНрдХ рдЧрд░рд┐рдПрдХреЛ рдЫ
  2. рд╕реНрд░реЛрддрдХреЛ рдореВрд▓реНрдп рдШрдЯрд╛рдЙрдБрдЫ рд╕рд┐рдХреНрдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░рдХрдо рдХреЛ рд▓рд╛рдЧреА рд╕рдиреНрджрд░реНрдн рджреНрд╡рд╛рд░рд╛
  3. рдирдпрд╛рдБ рд╕реНрд░реЛрдд рд╕рд┐рд░реНрдЬрдирд╛ рд░ рдлрд░реНрдХрд╛рдЙрдБрдЫ рд╕рд┐рдХреНрдХрд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рд╕рдВрдЧред

рдиреЗрдХреЛрдЯреЛрд░реА рдкрд▓рд╣рд░реВ:

  • рдЬрдореНрдорд╛ рдЬреЛ рдХреЛрд╣реАрд▓реЗ рдмреЛрд▓рд╛рдЙрди рд╕рдХреНрдЫ, рддрд░ рдлрд┐рд░реНрддрд╛_рдмрд╛рдЯ_рд╕реЗрдиреНрдбрд░ рдХрд▓рд┐рдЩ рдЦрд╛рддрд╛рдХреЛ рд╕рд┐рдХреНрдХрд╛рдорд╛ рдорд╛рддреНрд░ рдкрд╣реБрдБрдЪ рдЫ
  • GetTxnSenderAddress рдЬрд╕реНрддреИ msg.рдкреНрд░реЗрд╖рдХ рдПрдХрддрд╛ рдорд╛
  • рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬрд╕реНрддреИ рдЖрд╡рд╢реНрдпрдХ рдЫ рдПрдХрддрд╛ рдорд╛ред рдпрджрд┐ рдпреЛ рдЬрд╛рдБрдЪ рдЕрд╕рдлрд▓ рднрдпреЛ рднрдиреЗ, рд▓реЗрдирджреЗрдирдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░реЛрдХрд┐рдиреНрдЫ рд░ рд╕рдмреИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдлрд┐рд░реНрддрд╛ рд╣реБрдиреНрдЫрдиреНред
  • рдкреНрдпрд╛рдХ рдпреЛ рдПрдХ рдирд┐рд░реНрдорд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрдирд┐ рд╣реЛ рдЬрд╕рд▓реЗ T рдкреНрд░рдХрд╛рд░рдХреЛ рдирдпрд╛рдБ рд╕реНрд░реЛрдд рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред
  • рд╕рд╛рдереИ рдЕрдирдкреНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдкреНрдпрд╛рдХ рдХреЗрд╡рд▓ рдореЛрдбреНрдпреБрд▓ рднрд┐рддреНрд░ рдХрд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬрд╣рд╛рдБ рд╕рдВрд╕рд╛рдзрди рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ T

рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛

рд╣рд╛рдореАрд▓реЗ рдореВрдн рднрд╛рд╖рд╛рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдпреМрдВ, рдпрд╕рд▓рд╛рдИ рдЗрдерд░рд┐рдпрдорд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНтАНрдпреМрдВ, рд░ рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рднреВрдд рд╡рд╛рдХреНрдп рд░рдЪрдирд╛рд╕рдБрдЧ рдкрдирд┐ рдкрд░рд┐рдЪрд┐рдд рднрдпреЛред рдЕрдиреНрддрдорд╛, рдо рдмреНрд░рд╛рдЙрдЬрд┐рдЩ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреБ рдореВрд▓ рд╕реЗрддреЛ рдХрд╛рдЧрдЬред рдпрд╕рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛ рдбрд┐рдЬрд╛рдЗрди рд╕рд┐рджреНрдзрд╛рдиреНрддрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рд╡рд┐рд╡рд░рдгрд╣рд░реВ, рд╕рд╛рдереИ рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рд▓рд┐рдЩреНрдХрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди