рдПрдереЗрд░рд┐рдпрдо рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпрд╛рдВред рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде, рдореИрдВ Ethereum рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯреНрд╕ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рдмрд╣реБрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣рд┐рдорд╕реНрдЦрд▓рди рдХреА рддрд░рд╣ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ "рдирдХрд▓реА" рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирд╣реАрдВ рд╣реИред рдЕрд▓рд╡рд┐рджрд╛ - рдЕрдиреБрд╡рд╛рдж ...

1. рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд-рднреЗрдЬреЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╡ Ethereum рд╕рдВрд╡рд┐рджрд╛ рд╕реНрдХреИрди рдХрд░рдирд╛


рдореВрд▓ - "рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд-рднреЗрдЬреЗрдВ ..." рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрд╡ рдПрдереЗрд░реЗрдо рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛ рд╕реНрдХреИрди рдХрд░рдирд╛


рд▓реЗрдЦрдХ: рдЬрд╝рд┐рдХрдИ рдПрд▓реЗрдХреНрд╕ рд╡реЗрди рдФрд░ рдПрдВрдбреНрд░рдпреВ рдорд┐рд▓рд░

Ethereum рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг [1] рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ ред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрдИ
рд╣рд╛рдИ-рдПрдВрдб рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдЬреИрд╕реЗ рдХрд┐ рдХрд┐рдВрдЧ рдСрдл рдж рдИрдерд░ рдФрд░ рдж рдбреАрдПрдУ-1.0 рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рдереАрдВред

рдорд╛рд░реНрдЪ 2015 рдХреЗ рдмрд╛рдж рд╕реЗ, рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЦрддрд░реЛрдВ рд╕реЗ рдЖрдЧрд╛рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рддрдм рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВ [6] ред

рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧрд╛рдЗрдб рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ (рд╢реНрд╡реЗрдд рдкрддреНрд░ Ethereum [3] рдореЗрдВ рдФрд░ UMD [2] рд╕реЗ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЧрд╛рдЗрдб рдореЗрдВ)ред рдпрджреНрдпрдкрд┐ рдпреЗ рдЦрддрд░реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕реА рдЧрд▓рддреА рдХреЗ рдкрд░рд┐рдгрд╛рдо рднрдпрд╛рдирдХ рд╣реИрдВ: рдкреИрд╕рд╛ рдЕрд╡рд░реБрджреНрдз, рдЦреЛ рдпрд╛ рдЪреЛрд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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


рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд-рднреЗрдЬ рддреНрд░реБрдЯрд┐ рдХреНрдпрд╛ рд╣реИ?


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


/*** Listing 1 ***/ if (gameHasEnded && !( prizePaidOut ) ) { winner.send(1000); //    prizePaidOut = True; } 

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

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



рдЗрд╕ рддреНрд░реБрдЯрд┐ рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

Ethereum рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЗрд╕ рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЪреЗрддрд╛рд╡рдиреА рд╣реИ [3] : " рднреЗрдЬрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рдЦрддрд░рд╛ рд╣реЛрддрд╛ рд╣реИ - рдпрджрд┐ рдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреА рдЧрд╣рд░рд╛рдИ 1024 рд╣реИ рддреЛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рднреА "рдЧреИрд╕" рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░рд╕рд╛рд░рдг рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрд╢рд╛ рднреЗрдЬрдиреЗ рдХреЗ рд░рд┐рдЯрд░реНрди рдореВрд▓реНрдп , рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкреИрд╕рд╛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред "

рджреЛ рд╡рд╛рдХреНрдпред рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд░рд┐рдЯрд░реНрди рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд░рд╛рдЬреНрдп рдХреЛ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджреЗрдВред


  /*** Listing 2 ***/ if (gameHasEnded && !( prizePaidOut ) ) { if (winner.send(1000)) prizePaidOut = True; else throw; } 

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


 /*** Listing 3 ***/ if (gameHasEnded && !( prizePaidOut ) ) { if (winner.send(1000) && loser.send(10)) prizePaidOut = True; else throw; } 

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

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


 /*** Listing 4 ***/ if (gameHasEnded && !( prizePaidOut ) ) { if (callStackIsEmpty()) throw; winner.send(1000) loser.send(10) prizePaidOut = True; } 

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


 /*** Listing 5 ***/ if (gameHasEnded && !( prizePaidOut ) ) { accounts[winner] += 1000 accounts[loser] += 10 prizePaidOut = True; } ... function withdraw(amount) { if (accounts[msg.sender] >= amount) { msg.sender.send(amount); accounts[msg.sender] -= amount; } } 

рдХрдИ рдЙрдЪреНрдЪ рд╡рд┐рдХрд╕рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрдордЬреЛрд░ рд╣реИрдВред рд╕рд┐рдВрд╣рд╛рд╕рди рд▓реЙрдЯрд░реА рдХрд╛ рд░рд╛рдЬрд╛ рдЗрд╕ рдЧрд▓рддреА рдХрд╛ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдорд╛рдорд▓рд╛ рд╣реИ [4] ред рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рддрдХ рдирд╣реАрдВ рджреЗрдЦреА рдЧрдИ рдЬрдм рддрдХ рдХрд┐ 200 рдИрдерд░ (рдЖрдЬ рдХреА рдХреАрдордд рдореЗрдВ 2000 рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рд╕реЗ рдЕрдзрд┐рдХ) рдХреА рд░рд╛рд╢рд┐ рдХреЛ рд▓реЙрдЯрд░реА рдХрд╛ рд╡реИрдз рд╡рд┐рдЬреЗрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдХрд┐рдВрдЧ рдСрдл рдж рдПрдерд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2. рдореЗрдВ рдХреЛрдб рдХреЗ рд╕рдорд╛рди рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрдмрдВрдз рдбреЗрд╡рд▓рдкрд░ рдЕрдЯрдХреЗ рд╣реБрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ "рдореИрдиреБрдЕрд▓ рдУрд╡рд░рд░рд╛рдЗрдб" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЯрдХрд╛ рд╣реБрдЖ рдзрди рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдкреНрд░рд╕рд╛рд░рдг рдХреЛ рдЪреБрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдо рдирд┐рдкреБрдг рдкреНрд░рд╢рд╛рд╕рдХ рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ!


рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд-рднреЗрдЬреЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ рд╕реНрдХреИрдирд┐рдВрдЧ рд▓рд╛рдЗрд╡ рдПрдереЗрд░рд┐рдпрдо рдЕрдиреБрдмрдВрдзред рднрд╛рдЧ реи

Source: https://habr.com/ru/post/hi430602/


All Articles