рдкрд░рд┐рдЪрдп
рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдСрдбрд┐рдЯ рдореЗрдВ рд▓рдЧреА рд╣реБрдИ рд╣реИ, рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореБрджреНрджрд╛ рдмрд╣реБрдд рддреАрд╡реНрд░ рд╣реИред рд╡реЗ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐рди рд▓реЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдХреА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рдХреНрдпрд╛ рд╣реИрдВ? рдпреЗ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИрдВред рдФрд░ рд╕рд╛рдордЧреНрд░реА рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдФрд░ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рдорджрдж рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧреА рддрд╛рдХрд┐ рдЗрд╕ рдмреЗрд╣рдж рдореЛрдЯрд┐рд╡реЗрдЯ рдФрд░ рд╡рд╛рдЗрд▓реНрдб рджрд┐рд▓рдЪрд╕реНрдк рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдПрдХ рд▓реЗрдЦ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЬрд╛рдирдХрд╛рд░реА рдХреА рдорд╛рддреНрд░рд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рдЧрдИ, рдЗрд╕рд▓рд┐рдП рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛, рдкреНрд░рддреНрдпреЗрдХ рдСрдЯреЛрдЗрд▓рдирд┐рдЬрд╝рд░ рдХреЗ рд▓рд┐рдПред рдЬрд┐рд╕ рд╕реВрдЪреА рд╕реЗ рд╣рдо рдЙрдкрдХрд░рдг рд▓реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд▓реЗрдЦрди рдХреЗ рджреМрд░рд╛рди рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдХрд░рдг рд╕рд╛рдордиреЗ рдЖрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред
рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд▓реЗрдЦрд╛рдкрд░реАрдХреНрд╖рд╛ рдХрд╛рд░реНрдп рдЕрддреНрдпрдВрдд рд░реЛрдЪрдХ рдереЗ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рддрдХ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдЖрдВрддрд░рд┐рдХ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдЖрд░реНрдерд┐рдХ рдкрд╣рд▓реБрдУрдВ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИред рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреЗ рдСрдбрд┐рдЯ рдореЗрдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЕрдЯреИрдХ рд╡реИрдХреНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдХрд░рдг рджрд┐рдЦрд╛рдИ рджрд┐рдП: рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, рдмрд╛рдпрдЯреЗрдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ, рдлрд╝реНрдпреВрдЬрд╝рд░, рдкрд╛рд░реНрд╕рд░ рдФрд░ рдХрдИ рдЕрдиреНрдп рдЕрдЪреНрдЫреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ред
рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп: рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрдиреБрдмрдВрдз рдХреЛрдб рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдирд╛ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмреЗрд╡рдХреВрдл рдХреАрдбрд╝реЗ рд╕реЗ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛, рдЬреЛ рдЕрдХреНрд╕рд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрд╡рдпрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ рдФрд░ рдПрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдореЗрдВ рднреВрд▓ рдЧрдП рдПрдХ рдмреЗрд╡рдХреВрдл рддреНрд░реБрдЯрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЬреАрд╡рди рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдЗрдП, рдХрдо рд╕реЗ рдХрдо рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВ, рдЬреЛ "рдЫреЛрдЯреА рд░рдХреНрдд" рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдСрдбрд┐рдЯ рдореЗрдВ рдЬрд┐рди рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд╡реЗ рдЕрднреА рднреА рддрд╛рд░реНрдХрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ, рдкреВрд░реНрдгрд╛рдВрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣, рдкреБрдирд░реНрд╡реНрдпрд╡рд╣рд╛рд░ рдЬреИрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВред рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╛рдзрд╛рди рдХреА рдПрдХ рдмрдбрд╝реА, рдкреВрд░реНрдг рдСрдбрд┐рдЯ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рддрд░реНрдХ, рдЙрдирдХреЗ рдЬреАрд╡рдирдЪрдХреНрд░, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд╣рд▓реБрдУрдВ рдФрд░ рдХрд╛рд░реНрдп рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХрд╛ рдСрдбрд┐рдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдареЗрда рд╣рдорд▓реЗ рдкреИрдЯрд░реНрдиред рдпрд╣ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рддрд░реНрдХ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдмрди рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫреЗрдж рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреЛ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рд╕реЗ рдмрдЪреА рд╣реИрдВ, рдЬреЛ рдпрд╛рдж рдирд╣реАрдВ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рд╡реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рдирд┐рдпрддрд┐ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд▓реЛрдЧреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЗрд╕ рдереАрд╕рд┐рд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛрдб рдСрдбрд┐рдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛрдб рдСрдбрд┐рдЯрд┐рдВрдЧ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд╖реЗрддреНрд░ рд╣реИред рдЕрдкрдиреЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдПрдереЗрд░рд┐рдпрдо рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ рдЬреЛ рдЬрдЯрд┐рд▓ рд╢рд╛рдЦрд╛рдУрдВ, рд▓реВрдк, рдирд┐рд░реНрдгрдп рдкреЗрдбрд╝реЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рд▓ рд▓реЗрдирджреЗрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдХрджрдо рдкрд░ рд╕рднреА рд╕рдВрднрд╡ рд╢рд╛рдЦрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдмреНрд▓реЙрдХрдЪреЗрди рд╡рд┐рдХрд╛рд╕ рдмреЗрд╣рдж рдирд┐рдореНрди рд╕реНрддрд░ рдХрд╛ рд╣реИ, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рдмрд╣реБрдд рдорд╛рдВрдЧ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реА / рд╕реА ++ рдФрд░ рдЕрд╕реЗрдВрдмрд▓рд░ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдмрд╣реБрдд рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ, рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рд╕реЗрд╡рд╛рдУрдВ, рд╕рднреА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЕрдиреБрдХреВрд▓рди рдФрд░ рдХреЛрдб рдСрдбрд┐рдЯрд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВред
рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╕реЙрд▓рд┐рдбрд┐рдЯреА рднреА рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдмреЗрд╣рдж рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИред рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рдпрд╣ рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ рдЬреЛ рд╕реА / рд╕реА ++ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рдУрдУрдкреА рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯред
рдпрд╣рд╛рдВ рдХреЛрдб рдХреА рд╕рд╛рджрдЧреА рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреА рдХреБрдВрдЬреА рд╣реИ, рдХреБрдЫ рднреА рднрд╛рд░реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд╛рдо рдореЗрдВ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреВрд░реЗ рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕реНрдореГрддрд┐ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ: рдорд░реНрдХрд▓ рдЯреНрд░реА, рдмреНрд▓реВрдо рдлрд┐рд▓реНрдЯрд░, "рдЖрд▓рд╕реА" - рд╕рдВрд╕рд╛рдзрди рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдЫреЛрд░реЛрдВ, рдореИрдиреБрдЕрд▓ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред
рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдПрдХ рдЫреЛрдЯреА рд░рд╛рд╢рд┐ рдФрд░ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╛рдЗрдЯрдХреЛрдбред
рдПрдХ рдЕрд▓рдЧ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реАрдорд┐рдд рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдореЗрдВ рдЧреИрд╕ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЕрдзрд┐рдХрддрдо рдКрдкрд░ рд╕реЗ рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд▓рдЧрднрдЧ 10Kb рдХреЛ рдмреНрд▓реЙрдХрдЪреЗрди (рдлрд┐рд▓рд╣рд╛рд▓) рдореЗрдВ рдзрдХреНрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЕрдм рдФрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ рдХрд┐ рдПрдХ рдЕрдиреБрдмрдВрдз рдЕрдиреБрдмрдВрдз рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реИ рдФрд░ рдЧреИрд╕ рдХреА рд▓рд╛рдЧрдд рдХрд┐рддрдиреА рд╣реИ ред рдЗрд╕рд▓рд┐рдП, рдмрд╣реБрдд рдзрдХреНрдХрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрддрд┐рд╢рдпреЛрдХреНрддрд┐ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдФрд╕рдд" рдХреЛрдб рдХреА рдХрдИ рд╣рдЬрд╛рд░ рд▓рд╛рдЗрдиреЗрдВ рдЕрдзрд┐рдХрддрдо рд╣реИрдВред рдХрдИ рджрд░реНрдЬрди рд╡рд┐рдзрд┐рдпрд╛рдВ, рдПрдХрддреНрд░реАрдХрд░рдг рдХреА рдХрдореА рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреА рдЕрддреНрдпрдВрдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИрдВред рдЬреЛ рдХреБрдЫ рднреА рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрджрд▓реЗрдВ рдФрд░ рдЬрдЯрд┐рд▓ рдХрд░реЗрдВред рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдХреЛрдб рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдХреНрд╖рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдХрд░ рдЕрдкрдиреЗ рдЕрдиреБрдмрдВрдз рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдРрд╕реА рдЕрд▓рдЧ-рдЕрд▓рдЧ "рдХрдХреНрд╖рд╛рдУрдВ" рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдкрдШрдЯрд┐рдд рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рд╣реИ - рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдиреНрдпрдерд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдИрдЖрд░рд╕реА 721 рдУрдкрдирдЬреЗрд▓рдкреНрд▓рд┐рди-рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдореЗрдВ рдХреИрд╕реЗ рдмрдирд╛ рд╣реИ ред
рдЧреИрд╕, рдЧреИрд╕, рдЧреИрд╕
рдЧреИрд╕ рдЕрдиреБрдмрдВрдз рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рддрд░реНрдХ рдХреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рдд рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдСрдбрд┐рдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХреЛрдб рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рдорд╛рди рдХреЛрдб рдЕрдиреБрднрд╛рдЧ рд╡рд┐рднрд┐рдиреНрди рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЧреИрд╕ рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдИрд╡реАрдПрдо рдСрдкрдХреЛрдб рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рдЙрдирдХреА рд▓рд╛рдЧрдд рдЧреИрд╕ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ ред
рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдЧреИрд╕ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдХреНрдпреЛрдВ рджреЗрдирд╛ рд╣реИ, рдЫрджреНрдо рдХреЛрдб рдХреЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдмреЗрд╢рдХ, рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ; рдИрдерд░ рдХреЗ рд╕рд╛рде рд▓реВрдк рдореЗрдВ рдлрд╛рдпрд░рд┐рдВрдЧ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ):
// function fixSomeAccountAction(uint _actionId) public onlyValidator { // тАж events[msg.sender].push(_actionId); } // , function receivePaymentForSavedActions() { // ... for (uint256 i = 0; i < events[msg.sender].length; i++) { // actionId uint actionId = events[msg.sender][i]; // action uint payment = getPriceByEventId(actionId); if (payment > 0) { paymentAccumulators[msg.sender] += payment; } emit LogEventPaymentForAction(msg.sender, actionId, payment); // тАж // delete тАЬevents[msg.sender][i]тАЭ from array } }
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдЪрдХреНрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ [msg.sender] .length рдмрд╛рд░, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдмреНрд▓реЙрдХрдЪреЗрди (рд╕реНрдерд╛рдирд╛рдВрддрд░рдг () рдФрд░ рдЙрддреНрд╕рд░реНрдЬрди ()) рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИред рдпрджрд┐ рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдЫреЛрдЯреА рд╣реИ, рддреЛ рдЪрдХреНрд░ рдЕрдкрдиреЗ рджрд╕ рдмрд╛рд░ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЕрдЧрд░ рдЗрд╡реЗрдВрдЯ [msg.sender] рдРрд░реЗ рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рдХрдИ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рд╣реЛрдВрдЧреЗ рдФрд░ рдЦрд░реНрдЪ рдХреА рдЧрдИ рдЧреИрд╕ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдЕрдзрд┐рдХрддрдо рдЧреИрд╕ рд╕реАрдорд╛ (~ 8,000,000) рдореЗрдВ рдЪрд▓реЗрдЧреАред рд▓реЗрди-рджреЗрди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдЖрдПрдЧреА, рдФрд░ рдЕрдм рдХрднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдмрдВрдз рдореЗрдВ рдШрдЯрдирд╛рдУрдВ [msg.sender] рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЪрдХреНрд░ рдХреЗрд╡рд▓ рдПрдХ рдЗрдХрд╛рдИ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХрдЪреЗрди рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдХрдореАрд╢рди рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди), рддреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдлреА рд╕реАрдорд┐рдд рд╣реИред рдЦреБрдж рдХреЗ рд▓рд┐рдП рдЬрдЬ - рд╕реАрдорд╛: 8,000,000, рдПрдХ рдирдпрд╛ 256-рдмрд┐рдЯ рдореВрд▓реНрдп рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ: 20,000ред рдЖрдк рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдХреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕реИрдХрдбрд╝реЛрдВ-рдмрд┐рдЯ рдкрддреЗ рдХреЗ рд╕реИрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдФрд░ рдордЬреЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рдореВрд▓реНрдп рд▓рд┐рдЦрдирд╛: 20,000, рдФрд░ рдореМрдЬреВрджрд╛ рдПрдХ рдХрд╛ рдЕрдкрдбреЗрдЯ: 5,000, рдЗрд╕рд▓рд┐рдП рдЬрдм рдЖрдк рдПрдХ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдЕрдиреБрдмрдВрдз рдХреЗ рд╕рдЯреАрдХ рд╕рдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рднреАред рдПрдХ рдкрддреЗ рдкрд░ рдЯреЛрдХрди рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯреЛрдХрди рд╣реИ, рдЖрдк рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдкрд░ 4 рдЧреБрдирд╛ рдХрдо рдЧреИрд╕ (5,000 рдмрдирд╛рдо 20,000) рдЦрд░реНрдЪ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рди рд╣реЛрдВ рдХрд┐ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдореЗрдВ рдЧреИрд╕ рдХрд╛ рдореБрджреНрджрд╛ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рдмрд╣реБрдд рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдлрдВрдбреНрд╕ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЕрдЯрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рд╡реЗ рдЪреЛрд░реА рдХрд┐рдП рдЧрдП рдереЗред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ADD рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ 3 рдЧреИрд╕ рдХреА рд▓рд╛рдЧрдд рд╣реЛрддреА рд╣реИ, рдФрд░ SSTORE (рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рдмрдЪрдд): 20 000 рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рдВрдЧрд╛ рд╕рдВрд╕рд╛рдзрди рднрдВрдбрд╛рд░рдг рд╣реИ, рдФрд░ рдЕрдиреБрдмрдВрдзрд┐рдд рдХреЛрдб рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдХреЗ рд▓рд┐рдП C рдФрд░ ASM рдореЗрдВ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░реНрдп рдЖрдо рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо, рдЬрд╣рд╛рдВ рднрдВрдбрд╛рд░рдг рднреА рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрди рд╣реИред
рд╕реБрдВрджрд░ рдмреНрд▓реЙрдХрдЪреЗрди
рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХрдЪреЗрди рдХреЗрд╡рд▓ рдСрдбрд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рд╣реИред рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рд╕рдлрд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдмрдЧ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдкреНрд▓реЗрдмреИрдХ рдХреА рдХреБрдВрдЬреА рд╣реИред рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдЕрдиреБрдмрдВрдз рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХреЙрд▓ рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдереЛрдбрд╝реА рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рдж рдЖрд╕рд╛рди рд╣реИрдВ, рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рд╣реИред рдЕрдм рд╣рдо рд╣рдореЗрд╢рд╛ рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рдХрдм, рдХрд┐рд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛, рдХрд┐рд╕ рдХреЛрдб рдиреЗ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реБрдЖред рдпрд╣ рд╕рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рддреН рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдЬреЗрдПрд╕ рдореЗрдВ рднреА, рдХрд╣реАрдВ рднреА рдЦреЗрд▓рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо Ethereum рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реА рднреА рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдорд╛рдорд▓рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдЬрд╣рд╛рдВ рднреА рдиреЛрдб рд╣реИ рд╡рд╣рд╛рдВ рдорд╣рд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрди рд╕рднреА рд╕реБрдВрджрд░ рд╢рдмреНрджреЛрдВ рдХреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЖрд░рд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рддрд╛рд░реНрдХрд┐рдХ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдПрдХ рдСрд░реНрдереЛрдЧреЛрдирд▓ рд╕рдВрдкрддреНрддрд┐ рд╣реИред
рдЕрдиреБрдмрдВрдз рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд▓рд┐рдП рд╡рд╛рддрд╛рд╡рд░рдг
рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдорд╛рд░реНрдЯрдЬрд╝ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рд╕реЗ рдШрд░ рдХреА рдмреБрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд░рд╛рдирд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрдиреБрдмрдВрдз рд▓рд┐рдпрд╛: https://github.com/smartzplatform/constructor-eth-booking ред рдЕрдиреБрдмрдВрдз рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ (рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ рдпрд╛ рд╣реЛрдЯрд▓ рдХреЗ рдХрдорд░реЗ) рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреАрдордд рдФрд░ рдбрд┐рд▓реАрд╡рд░реА рдХреА рддрд╛рд░реАрдЦреЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЕрдиреБрдмрдВрдз рднреБрдЧрддрд╛рди рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреБрдХрд┐рдВрдЧ рдЕрдзрд┐рдирд┐рдпрдо рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЕрддрд┐рдерд┐ рдХрдорд░реЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╢реЗрд╖ рд░рд╛рд╢рд┐ рдкрд░ рдзрдирд░рд╛рд╢рд┐ рд░рдЦрддрд╛ рд╣реИред рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдХрдорд░реЗ рдХрд╛ рдорд╛рд▓рд┐рдХ рднреБрдЧрддрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдмрдВрдз рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдФрд░ рдмрджрд▓рд╛рд╡ рдХреЛ Booking.sol рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рдХрд┐рдпрд╛, рдЗрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд┐рдпрд╛, рдпрд╣ рд╕рдВрдХрд▓рдХ рдХреЗ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рджреВрд░ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕рдореГрджреНрдз рдЖрдВрддрд░рд┐рдХ рддрд░реНрдХ рд╣реИред рддреЛ рдЪрд▓рд┐рдП рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреИрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдПрдВрдЧреЗ, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЬреЛрдбрд╝ рд▓реЗрдВрдЧреЗред
рд╕реЛрд▓ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдХреБрдЫ рдбреЙрдХрдЯрд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЕрдиреНрдп рд░реЗрдбреАрдореЗрдб рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдЯреЗрдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдСрдбрд┐рдЯрд░ рдХреЛ рдЦреБрдж рднреА рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рджрд░реНрдЬрдиреЛрдВ рд╢реБрд░реБрдЖрддреА рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, solc
рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ "рдкрд╛рдо рдСрдл" рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореЗрдЬрдмрд╛рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдФрд░ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдЯреНрд░рдлрд▓ рдХреЗ рдЕрдВрджрд░, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЛ рдпреЗ рдХреБрдЫ рдЧрдВрджреЗ рд╣реИрдХ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛:
1 рд░рд╛рд╕реНрддрд╛: рдЯреНрд░рдлрд▓ рдХреЗ рдЕрдВрджрд░
рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЯреНрд░рдлрд▓ рд╕рдВрд╕реНрдХрд░рдг 5.0.0 рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдЖрдк рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реАрдзреЗ truffle.js рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдЕрдВрддрд░ рдореЗрдВ рд╣реИ ред
рдЕрдм рдЯреНрд░рдлрд▓ рдЖрд╡рд╢реНрдпрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдЪрд▓рд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреАрдо рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдПрдХ рдпреБрд╡рд╛ рднрд╛рд╖рд╛ рд╣реИ, рднрд╛рд╖рд╛ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдЧрдВрднреАрд░ рд╣реИрдВ, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдУрд░ рдмрдврд╝рдирд╛ рдСрдбрд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ - рдЗрд╕ рддрд░рд╣ рдЖрдк рдирдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдореБрдЦреМрдЯрд╛ рдкреБрд░рд╛рдиреЗ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рдзрд┐ 2: рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдпреВрдПрд╕рдЖрд░ / рдпреВрдПрд╕рдЖрд░ / рдмрд┐рди / рд╕реЛрд▓ рдХреА рдЬрдЧрд╣
рдпрджрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдбреЙрдХрдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЫрд╡рд┐ рд╕реЗ рд╕реАрдзреЗ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг solc
рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ / usr / bin / solc:
COPY --from=ethereum/solc:0.4.19 /usr/bin/solc /usr/bin
3 рд░рд╛рд╕реНрддрд╛: рдЬрдЧрд╣ / usr / рдмрд┐рди / solc
рдорд╛рдереЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЧрдВрджрд╛ рддрд░реАрдХрд╛, рдЕрдЧрд░ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде / usr / bin / solc рдмрд╛рдЗрдирд░реА рдХреЛ рд╕рдЦреНрддреА рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдореВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рди рднреВрд▓реЗрдВ):
#!/bin/bash # run Solidity compiler of given version, pass all parameters # you can run тАЬSOLC_DOCKER_VERSION=0.4.20 solc --versionтАЭ SOLC_DOCKER_VERSION="${SOLC_DOCKER_VERSION:-0.4.24}" docker run \ --entrypoint "" \ --tmpfs /tmp \ -v $(pwd):/project \ -v $(pwd)/node_modules:/project/node_modules \ -w /project \ ethereum/solc:$SOLC_DOCKER_VERSION \ /usr/bin/solc \ "$@"
рдпрд╣ solc
рдХреЗ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде solc
рдХреА рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдХреИрд╢ рдХрд░рддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде /usr/bin/solc
рдЪрд▓рд╛рддрд╛ рд╣реИред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдЧрд╛ред
рдЪрдкрдЯрд╛ рдХреЛрдб
рдЕрдм рдЪрд▓реЛ рд╕реНрд░реЛрдд рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдСрдЯреЛрдиреЙрд▓реАрдЬрд╝рд░реНрд╕ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрдереИрддрд┐рдХ рд╕реНрд░реЛрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП) рдХреЛ рдПрдХ рдЕрдиреБрдмрдВрдз рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ рдореЛрдиреЛрд▓рд┐рде рдореЗрдВ рд╕рдм рдХреБрдЫ рдорд┐рд▓рд╛рдПрдВ рдФрд░ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛, рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрдВрднреАрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдбреЙрдХрдЯрд░ рдореЗрдВ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рдЗрд╕реЗ рдкрде рдХреЗ рдЕрдВрджрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рддреЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЦреАрдВрдЪрддрд╛ рд╣реИред рдХреБрдЫ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдм рдХреБрдЫ рд╕рдордЭрддреЗ рд╣реИрдВ, рджреВрд╕рд░рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╡рд┐рдХрд▓реНрдк, рдЗрд╕рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ рд╕реЗ рдкреАрдбрд╝рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рдЦрд╛рдПрдВ рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рдЯреНрд░рдлрд▓-рдлреНрд▓реИрдЯрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдпрд╣ рдПрдХ рдорд╛рдирдХ npm рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
truffle-flattener contracts/Booking.sol > contracts/flattened.sol
: https://github.com/trailofbits/slither
рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдЪрдкрдЯреЗ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдлреНрд▓реИрдЯрдирд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдордиреЗ рдЕрдЬрдЧрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛: https://github.com/mixbytes/solidity-flattener
рдЪрд▓реЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЙрд╕реА рдкреБрд░рд╛рдиреЗ рдЖрджрдореА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, https://github.com/smartzplatform/constructor-eth-booking рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЕрдиреБрдмрдВрдз рд╕рдВрдХрд▓рдХ "0.4.20" рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдВрдХрд▓рдХ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рдЕрдиреБрдмрдВрдз рдХреЛ рд▓рд┐рдпрд╛ред рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рднреА рдмрджрддрд░ рдмрдирд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдпреЛрдЯреЗрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдСрдЯреЛрдЗрдВрдЬреАрдирд┐рдпрд░, рд╕реЛрд▓ рдХреЗ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдВрддрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝ рднреА рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдм рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрднреА рднреА рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдореЗрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЯреНрдпреВрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдВрдХрд▓рди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЧрд┐рдЯрдм рд╕реЗ рдЦреАрдВрдЪреЗрдВ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
git clone https://github.com/smartzplatform/constructor-eth-booking.git cd constructor-eth-booking npm install truffle compile
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдЯреЛрдиреЙрд▓реАрдЬрд╝рд░реНрд╕ рдореЗрдВ рднреА рдпреЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП 0.4.20 рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдЯреНрд░рдлрд▓рд░.рдЬреЗрдПрд╕ рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдФрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рднреА рдЪрд▓рд╛рддреЗ рд╣реИрдВ
truffle-flattener contracts/Booking.sol > contracts/flattened.sol
рдЬреИрд╕рд╛ рдХрд┐ рдЪрдкрдЯреЗрдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ contracts/flattened.sol
рд╣рдо рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рджреЗрдВрдЧреЗред
рдкрд░рд┐рдЪрдп рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдм, рдЪрдкрдЯрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред solc
рдПрдХ рдордирдорд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг solc
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛, рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЯреНрд░рдлрд▓ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рдордЭреЗрдВред рдмреЗрд╢рдХ, рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд░реНрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрд╛ рдкрд░реАрдХреНрд╖рдХ рдХреЛ рдЕрдХреНрд╕рд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рд╕рдВрднрд╛рд╡рд┐рдд рдЯрдкрдХреА рдЬрдЧрд╣реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рд╕реАрдорд╛рдУрдВ рдкрд░ рдЕрдиреБрдмрдВрдз рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛, рд╕рднреА рдЪрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдирд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдЦреНрддреА рд╕реЗ рдЗрд░рд╛рджрд╛ рдХрд░рдирд╛, рдЖрджрд┐ред рдХрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рдж рд╣реИ рдЬреЛ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдЖрдкреВрд░реНрддрд┐ рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрд░реНрдХ рдХрд╛ рдЕрдзреНрдпрдпрди рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдорд╛рдирд╡ рдХрд╛рд░реНрдп рд╣реИред
рд╣рдо рдЙрди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдЕрдиреБрдмрдВрдз рдХреЛ рдЙрди рдореЗрдВ рдЦрд┐рд╕рдХрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдФрд░ рд╣рдо рдСрдЯреЛ-рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдЙрди рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВрдЧреЗред рдЕрдЧрд▓рд╛ рд▓реЗрдЦ рд╕реНрд▓реАрдпрд░ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХреНрд╢рди рдкреНрд▓рд╛рди рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
рднрд╛рдЧ 1. рдкрд░рд┐рдЪрдпред рд╕рдВрдХрд▓рди, рдЪрдкрдЯрд╛, рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг (рдпрд╣ рд▓реЗрдЦ)
рднрд╛рдЧ 2. рдЦрд┐рд╕рдХрдирд╛
рднрд╛рдЧ 3. рдорд┐рдердХ
рднрд╛рдЧ 4. рдордЯрд┐рдпрд╛рд░
рднрд╛рдЧ 5. рдЗрдЪрд┐рджрдирд╛
рднрд╛рдЧ 6. рдЕрдЬреНрдЮрд╛рдд рдЙрдкрдХрд░рдг 1
рднрд╛рдЧ 7. рдЕрдЬреНрдЮрд╛рдд рдЙрдкрдХрд░рдг 2
рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХрд╛ рдпрд╣ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдСрдбрд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реИ рдХрд┐ рдХрдм рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред
рд╢рд╛рдпрдж рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдирдП рдЙрдореНрдореАрджрд╡рд╛рд░ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рдпрд╛ рд▓реЗрдЦреЛрдВ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдмрдиреЗ рд░рд╣реЗрдВред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, "рдпрд╣рд╛рдБ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ"