... рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Ethereum рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦреЗрдВред
рднрд╛рдЧ рд╢реВрдиреНрдп: рд╡рд╕реНрддреБ рджреГрд╢реНрдп рдореЗрдВ рдЖрдИ
рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдЪреАрдиреА рдореЗрдВ рд╕реЙрд▓рд┐рдбрд┐рдЯреА рдореЗрдВ рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдПрдереЗрд░рд┐рдпрдо-рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреВрд░реНрдг-рд╕реНрдЯреИрдХ рдкрд╛рдареНрдпрдХреНрд░рдо рдкрд░ рдЕрдкрдиреЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рд╕рдорд╛рдкреНрдд рдХрд┐рдПред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЪреАрдиреА рд╕рдореБрджрд╛рдп рдХреЗ рдмреАрдЪ рдмреНрд▓реЙрдХрдЪреЗрди рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдпрд╛ред рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди рдореИрдВрдиреЗ рдХреБрдЫ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрддреА рдХреАред
рдФрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рдЕрдЪрд╛рдирдХ рдЦреБрдж рдХреЛ рдЗрди рдкреНрд░рд╛рдгрд┐рдпреЛрдВ рд╕реЗ рдШрд┐рд░рд╛ рд╣реБрдЖ рдкрд╛рдпрд╛:
Cryptokitties.co рд╕реЗ рдЫрд╡рд┐рдЗрд╕ рдШрдЯрдирд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рд╣рдо рднреА, рдЗрди рдкреНрдпрд╛рд░реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдХрд╛ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдЦреЗрд▓ рдХреЗ рдЖрджреА рд╣реЛ рдЧрдПред рд╣рдореЗрдВ рдирдИ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдирд╛ рдкрд╕рдВрдж рдерд╛ рдФрд░ рд╣рдордиреЗ
рдХреНрд░рд┐рдкреНрдЯреЛ рдмрд┐рд▓реНрд▓реА рд╡рд┐рдзрд┐ рдХреЗ
рд╕рд╛рде рдбрдХрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХреЛ рднреА рдмрджрд▓ рджрд┐рдпрд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд▓рдд рдмреБрд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЛ рдкреНрд░рдЬрдирди рдХреЗ рд▓рд┐рдП рдЬреБрдиреВрди рдиреЗ рд╣рдореЗрдВ рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛:
рдХреБрдЫ рдХреНрд░рд┐рдкреНрдЯреЛ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдХреЛ рдЬреАрди рдХрд╛ рд╕реЗрдЯ рдХреИрд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ?
рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдирд┐рд╡рд╛рд░ рд░рд╛рдд рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рдЬреЛ рд╣рдореЗрдВ рдкреИрджрд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд╡рдЬрд╛рдд рдХреНрд░рд┐рдкреНрдЯреЛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдкрдХреЛ рдмрд┐рд▓реНрд▓реА-рдорд╛рдБ рдХреЗ рдирд┐рд╖реЗрдЪрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕рдордп рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕рдВрднрд╡ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА Ethereum рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд▓реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдЦреБрдж рдХреЛ рдмреНрд▓реЙрдХрдЪреИрди рдХреЗ рд╕рд╛рде рдЕрдкрд░рд┐рдЪрд┐рдд рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░реИрдВрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рднрд╛рдЧ рдПрдХ: рдЫреЛрдЯреЗ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдкреИрджрд╛ рдХрд░рдиреЗ рдХрд╛ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рддрд░реНрдХ
рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЦреБрдж рд╕реЗ рдкреВрдЫрд╛: рдХреНрд░рд┐рдкреНрдЯреЛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХрд╛ рдЬрдиреНрдо рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ?
рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЙрддреНрдХреГрд╖реНрдЯ рдЗрдерд░рд╕реНрдХреИрди рдмреНрд▓реЙрдХрдЪреИрди рдХрдВрдбрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ "рдмреНрд▓реЙрдХ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдзреНрдпрдпрди" рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ CryptoKittiesCore рдЕрдиреБрдмрдВрдз рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЦреЛрдЬ рдХреА:
https://etherscan.io/address/0x06012c8cf97bead5deae237070f9587f8e7a266d#codeрдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЕрдиреБрдмрдВрдз рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╛рдЙрдВрдЯреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред рдЗрд╕ рдХреЛрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдмрдЪреНрдЪрд╛ рдмрд┐рд▓реНрд▓реА рдХрд╛ рдмрдЪреНрдЪрд╛ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрдирддрд╛ рд╣реИ: 1) рдорд╛рдВ рдмрд┐рд▓реНрд▓реА рдмрд┐рд▓реНрд▓реА рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реЗрдЪрд┐рдд рд╣реЛрддреА рд╣реИ; 2) рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж, рдЬрдм рднреНрд░реВрдг рдХреА рдкрдХрдиреЗ рдХреА рдЕрд╡рдзрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЧрд┐рд╡рдмрд░реНрде рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛-рджрд╛рдирд╡ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рджрд┐рд▓рдЪрд╕реНрдк рдореНрдпреВрдЯреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдмреНрд▓реЙрдХ рдХрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХрд╛ рдмрд┐рд▓реНрд▓реА рдХрд╛ рдмрдЪреНрдЪрд╛ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред
function giveBirth(uint256 _matronId) external whenNotPaused returns(uint256) { Kitty storage matron = kitties[_matronId];
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ, рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдирд╡рдЬрд╛рдд рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдЬреАрди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЬрдиреНрдо рдХреЗ рд╕рдордп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЬреАрдирд╕реЗрдВрд╕ рдмрд╛рд╣рд░реА рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд╕реЗ рдорд┐рдХреНрд╕рдЧреЗрдиреНрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ: рдорд╛рдБ рдЬреАрди, рдкрд┐рддрд╛ рдЬреАрди рдФрд░ рдмреНрд▓реЙрдХ рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рд▓реНрд▓реА рдЬрдиреНрдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧреАред
рдЖрдкрдХреЗ рдкрд╛рд╕ рд╢рд╛рдпрдж рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛, рдЧрд░реНрднрд╛рдзрд╛рди рдХреЗ рд╕рдордп рдЬреАрди рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдмрд╛рдж рдХреЗ рдЖрдЦреНрдпрд╛рди рдХреЗ рджреМрд░рд╛рди рджреЗрдЦреЗрдВрдЧреЗ, рдпрд╣ рдЖрдкрдХреЛ рдЬреАрди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдмрдЪрд╛рд╡ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдЧрд░реНрднрдзрд╛рд░рдг рдХреЗ рддрдереНрдп рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ 100% рд╕рдЯреАрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЬреАрди рдХреЛ рдорд┐рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╕рдЯреАрдХ рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣рдореЗрдВ рдпрд╣ рдЕрднреА рддрдХ рдкрддрд╛ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЪрд▓реЛ рдЬрд╛рд░реА рд░рдЦреЗрдВред рдЕрдм рд╣рдореЗрдВ рдЬреАрдирд╕реЗрдВрд╕ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рдкрддреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, MyEtherWallet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
рдЬреАрдирд╕реЗрдВрд╕ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдПрдбреНрд░реЗрд╕рдпрд╣ рдЕрдиреБрдмрдВрдз рдмрд╛рдЗрдЯрдХреЛрдб рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
0x60606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630d9f5aed81146100715780631597ee441461009f57806354c15b82146100ee57806361a769001461011557806377a74a201461017e575b600080fd5b341561007c57600080fd5b61008d6004356024356044356101cd565b604051908152602001604051809........
рдЙрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ, рдЖрдк рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдкреНрдпрд╛рд░рд╛ рд╕рдм рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдмрд╣реБрдд рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реБрд▓рдн рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рдЕрдиреБрдмрдВрдз рдХрд╛ рдкрддрд╛ рд╕рд╣реА рдерд╛, рддреЛ рдЙрдиреНрд╣реЗрдВ checkScienceAddress рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╣рдо рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рднрд╛рдЧ рджреЛ: рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрддрди
рддреЛ рдЖрдЦрд┐рд░ рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдордиреЗ рдЦреБрдж рдХреЛ рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕реЗ рдорд╛рдирд╡-рдкрдардиреАрдп рдареЛрд╕рддрд╛ рдХреЛрдб рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред рдмрд┐рд▓реНрд▓реА рдХрд╛ рдмрдЪреНрдЪрд╛ рдЬреАрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╕рд╕реНрддреЗ (рдореБрдХрд╛рдмрд▓рд╛ рдмреНрд▓реЙрдХрдЪреЗрди рдореЗрдВ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд╢рд░реНрддреЗ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрд╕рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреМрди рд╣реИрдВред рдпрд╣реА рд╣рдо рдХрд░реЗрдВрдЧреЗред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рддреНрд╡рд░рд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЗрдерд░рд╕реНрдХреИрди рдУрдкрдХреЛрдб
рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдмрд╣реБрдд рд╕рд╛рдл рд╣реИрд╣рдо рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд╕реБрдирд╣рд░реЗ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕рд╛рд╣рд╕рд┐рдХ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░, рдЗрд╕рдХреЗ рдХрд╛рдо рдХреЛ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдмрдирд╛рдИ рдЧрдИ рдзрд╛рд░рдгрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯрдХреЛрдб рдкрд░ рдЬрд╛рдПрдВрдЧреЗ:
- рдХреНрдпрд╛ рдпрд╣ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ TIMESTAMP opcode рдЧрд╛рдпрдм рд╣реИред рдпрджрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рд░рд▓ рджреБрд░реНрдШрдЯрдирд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рд╕реНрд░реЛрдд рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ рдУрдкрдХреЛрдб рд╣реИред
- рдХреНрдпрд╛ рдПрдХ рдмреНрд▓реЙрдХ рд╣реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рд╣рд╛рдВ, BLOCKHASH рджреЛ рдмрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рдЙрдирдХреЗ opcodes рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рддрдХ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред
- рдХреНрдпрд╛ рдХрд┐рд╕реА рднреА рд╣реИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рд╣рд╛рдВ, SHA3 рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред
- рдХреНрдпрд╛ msg.sender рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ CALLER opcode рдЧрд╛рдпрдм рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЕрдиреБрдмрдВрдз рдкрд░ рдХреЛрдИ рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
- рдХреНрдпрд╛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдЕрдиреБрдмрдВрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдирд╣реАрдВ, рдХреЛрдИ CALL opcode рдирд╣реАрдВ рд╣реИред
- рдХреНрдпрд╛ COINBASE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдирд╣реАрдВ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣рдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХреЗ рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рд╕реНрд░реЛрдд рдХреЛ рдмрд╛рд╣рд░ рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдЖрдЧреЗ рд░рдЦрд╛ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдХрд┐рдпрд╛: рдорд┐рдХреНрд╕рдЧреАрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддреАрди рдФрд░ рдХреЗрд╡рд▓ рддреАрди рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рдЗрд╕ рдЕрдиреБрдмрдВрдз рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рддреИрдирд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░, рд╢рд╛рдпрдж, рдмрд┐рд▓реНрд▓реА-рдорд╛рдБ рдХреЗ рдирд┐рд╖реЗрдЪрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рд╣рдореЗрдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреА рдПрдХ рдХрд┐рдЯ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддреАрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдорд┐рдХреНрд╕рдЧрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ: 1111115, 80, 40 рдФрд░ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдПрдХреНрд╕ред рдЕрдЧрд▓рд╛,
рдЯреНрд░рдлрд▓ рдФрд░ рдЯреЗрд╕реНрдЯреНрд░рдкреАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕
рдмрд╛рдпреЛрдЯреЗрдХ рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрд▓рд╕реНрдп рдиреЗ рдЯреНрд░рдлрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд╣рдж рддрдХ рдЧреИрд░-рдорд╛рдирдХ рддрд░реАрдХреЗ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ред
contract GeneScienceSkeleton { function mixGenes(uint256 genes1, uint256 genes2, uint256 targetBlock) public returns (uint256) {} }
рд╣рдо рдЕрдиреБрдмрдВрдз рдХрдВрдХрд╛рд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЯреНрд░рдлрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЯреНрд░рдлрд▓ рд╕рдВрдХрд▓рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдЦрд╛рд▓реА рдЕрдиреБрдмрдВрдз рдХреЛ рд╕реАрдзреЗ testrpc рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдмрд┐рд▓реНрдб рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдмрд╛рдпрдЯреЗрдХреЛрдб рдФрд░ рдЬреАрдирд╕рд╛рдЗрдВрд╕ рдЕрдиреБрдмрдВрдз рдмрд╛рдпрдЯреЗрдХреЛрдб рдХреЗ рд╕рд╛рде рдЕрдиреБрдмрдВрдз рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ atypical рд▓реЗрдХрд┐рди рддреНрд╡рд░рд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ bytecode рдФрд░ рд╕реНрдерд╛рдиреАрдп рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реАрдорд┐рдд рдЦреБрд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдЕрдиреБрдмрдВрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реАрдзреЗ 1111115, 80, 40 рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рдХреНрд╕рдЬреЗрди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдореЗрдВ рдЬрд╡рд╛рдм рдореЗрдВ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдареАрдХ рд╣реИ, рдЧрд╣рд░рд╛ рджреЗрдЦреЛред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рдорд┐рдХреНрд╕рдЬреЗрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ 0x0d9f5aed рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рдкреЗрди рдФрд░ рдкреЗрдкрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдЗрдЯреЗрдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреЗ рд╣реИрдВ, рд╕реНрдЯреИрдХ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдЫ JUMPs рдХреЗ рдмрд╛рдж, рд╣рдо рдЦреБрдж рдХреЛ рдпрд╣рд╛рдБ рдкрд╛рддреЗ рд╣реИрдВ:
[497] DUP1 [498] NUMBER [499] DUP14 [500] SWAP1 [501] GT [504] PUSH2 0x01fe [505] JUMPI [507] PUSH1 0x00 [508] DUP1 [509] 'fd'(Unknown Opcode)
рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рд╡рд╛рдкрд╕ () рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦреИрд░, рдпрд╣ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ: рднрд╡рд┐рд╖реНрдп рдХреЗ рдмреНрд▓реЙрдХ рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдЧреЗрдо рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдФрд░ рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред
рдЗрд╕ рдЗрдирдкреБрдЯ рд╕рддреНрдпрд╛рдкрди рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ: рд╣рдо рд╕рд┐рд░реНрдл рдЯреЗрд╕реНрдЯреНрд░рдкреАрд╕реА рдкрд░ рдХреБрдЫ рдмреНрд▓реЙрдХ рдЦрджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдмрд╛рд░, рдлрд╝рдВрдХреНрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡рд╛рдИ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдПрдХреНрд╕! рд╡рд╛рдИ
рдмрд╣реБрдд рдмреБрд░рд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рди рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирдХрд▓реА рдмреНрд▓реЙрдХрдЪреЗрди рдЯреЗрд╕реНрдЯреНрд░рдкреАрд╕реА рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИред
рднрд╛рдЧ рддреАрди: рд╣рдорд╛рд░реА рдЖрд╕реНрддреАрди рдКрдкрд░ рд░реЛрд▓ рдХрд░реЗрдВ рдФрд░ рд╕реНрдЯреИрдХ рдореЗрдВ рдЦреБрджрд╛рдИ рдХрд░реЗрдВ
рдареАрдХ рд╣реИред рддреЛ рдпрд╣ рдЖрдкрдХреА рдЖрд╕реНрддреАрди рдКрдкрд░ рд░реЛрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рд╕реНрдЯреИрдХ рд╕реНрдерд┐рддрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдЧрдЬ рдЕрдм рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╣рдо
evmdis рдирд╛рдордХ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдИрд╡реАрдПрдо
рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВрдЧреЗред
рдХрд╛рдЧрдЬ рдФрд░ рдХрд▓рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдпрд╣ рдПрдХ рдареЛрд╕ рдХрджрдо рд╣реИред рдЕрдВрддрд┐рдо рдЕрдзреНрдпрд╛рдп рдореЗрдВ рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рд░реЛрдХрд╛ рдерд╛, рдЙрд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд evmdis рдХреЗ рд╕рд╛рде рдПрдХ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ:
............. :label22 # Stack: [@0x70E @0x70E @0x70E 0x0 0x0 0x0 @0x88 @0x85 @0x82 :label3 @0x34] 0x1EB PUSH(0x0) 0x1ED DUP1 0x1EE DUP1 0x1EF DUP1 0x1F0 DUP1 0x1F1 DUP1 0x1F3 DUP13 0x1F9 JUMPI(:label23, NUMBER() > POP()) # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 0x0 0x0 @0x88 @0x85 @0x82 :label3 @0x34] 0x1FA PUSH(0x0) 0x1FC DUP1 0x1FD REVERT() :label23 # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 0x0 0x0 @0x88 @0x85 @0x82 :label3 @0x34] 0x1FF DUP13 0x200 PUSH(BLOCKHASH(POP())) 0x201 SWAP11 0x202 POP() 0x203 DUP11 0x209 JUMPI(:label25, !!POP()) # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 @0x200 0x0 @0x88 @0x85 @0x82 :label3 @0x34] 0x20C DUP13 0x213 PUSH((NUMBER() & ~0xFF) + (POP() & 0xFF)) 0x214 SWAP13 0x215 POP() 0x217 DUP13 0x21E JUMPI(:label24, !!(POP() < NUMBER())) # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 @0x200 0x0 @0x213 @0x85 @0x82 :label3 @0x34] 0x222 DUP13 0x223 PUSH(POP() - 0x100) 0x224 SWAP13 0x225 POP() :label24 # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 @0x200 0x0 [@0x223 | @0x213] @0x85 @0x82 :label3 @0x34] 0x227 DUP13 0x228 PUSH(BLOCKHASH(POP())) 0x229 SWAP11 0x22A POP() :label25 # Stack: [0x0 0x0 0x0 0x0 0x0 0x0 @0x70E @0x70E @0x70E 0x0 [@0x200 | @0x228] 0x0 [@0x88 | @0x223 | @0x213] @0x85 @0x82 :label3 @0x34] 0x22C DUP11 0x22D DUP16 0x22E DUP16 ...........
рдХреНрдпрд╛ evmdis рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, JUMPDEST рдХреЛ рд╕рд╣реА рд▓реЗрдмрд▓реНрд╕ рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдо рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд▓реЗрдмрд▓ 23 рдкрд░ рдЦреБрдж рдХреЛ рдкрд╛рддреЗ рд╣реИрдВред рд╣рдо DUP13 рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдп рд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдЯреИрдХ рдкрд░ рд╕рдВрдЦреНрдпрд╛ 13 рд╣рдорд╛рд░рд╛ рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмреНрд▓реЙрдХ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, BLOCKHASH рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ 256 рдмреНрд▓реЙрдХреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ JUMPI рджреНрд╡рд╛рд░рд╛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдПрдХ if-construct рд╣реИ)ред рдпрджрд┐ рд╣рдо рдЫрджреНрдо рдХреЛрдб рдХреА рднрд╛рд╖рд╛ рдореЗрдВ opcodes рдХреЗ рддрд░реНрдХ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ:
func blockhash(p) { if (currentBlockNumber - p < 256) return hash(p); return 0; } var bhash = blockhash(thrid); if (bhash == 0) { thirdProjection = (currentBlockNumber & ~0xff) + (thridParam & 0xff); if (thirdProjection > currentBlockNumber) { thirdProjection -= 256; } thirdParam = thirdProjection; bhash = blockhash(thirdProjection); } label 25 and beyond ..... some more stuff related to thirdParam and bhash
рдерд░реНрдбрдкрд░рд╛рдо рдФрд░ рднрд╛рд╡ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдФрд░ рд╕рд╛рдорд╛рди - рдерд░реНрдбрдкрд░рд╛рдо рдФрд░ рдмреНрд▓реЙрдХ рд╣реИрд╢ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдХреЛрдб
рдЕрдм рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдХрд╛рд░рдг рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореМрдХрд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдЕрд░реНрдерд╛рддреН: рдмреНрд▓реЙрдХ рд╣реИрд╢ рдХреА рдЧрдгрдирд╛ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░, рдпрд╛ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ
рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдореЗрдВ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрд╕ рдЕрдиреБрдорд╛рдирд┐рдд рдмреНрд▓реЙрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рднреА рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ BLOCKHASH рд░рд┐рдЯрд░реНрди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА рддреАрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдПрдЪ рдХрд╛ рд╣реИрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдмреНрд▓реЙрдХ рдХрд╛ рд╣реИрд╢ рднреАред
рдЕрдЧрд▓рд╛, рд╣рдо рдЗрд╕ рд╣реИрд╢ рдХреЛ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рд╕реНрдерд╛рдиреАрдп рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдмрд╛рдЗрдЯ рдХреЛрдб рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╕рдм рдХреБрдЫ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрдВрдд рдореЗрдВ рдЬреАрди рдХрд╛ рд╕рд╣реА рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред
рд▓реЗрдХрд┐рди рдПрдХ рдХреИрдЪ рд╣реИ: DUP13 рдФрд░ BLOCKHASH рдХреЛрдб рдореЗрдВ рдХреЗрд╡рд▓ 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВ, рдФрд░ рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ 33 рдмрд╛рдЗрдЯ PUSH32 0x * рд╣реИрд╢ * рд╕реЗ рдмрджрд▓ рджреЗрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ JUMP рдФрд░ JUMPI рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рд╣рдореЗрдВ рдХреЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ JUMP рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рддреИрдирд╛рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕реА рддрд░рд╣ред
рдЦреИрд░, рдЬрдм рд╕реЗ рд╣рдо рдпрд╣ рдЖрдП рд╣реИрдВ, рд╣рдо рдереЛрдбрд╝рд╛ рдФрд░ рд╕реВрдБрдШреЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рд╣рдо 32-рдмрд╛рдЗрдЯ рдЧреИрд░-рд╢реВрдиреНрдп рд╣реИрд╢ рдХреЛ рдпрджрд┐ рд╢рд╛рдЦрд╛ рдореЗрдВ рдзрдХреНрдХрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд┐рддрд┐ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрдЧреА рдФрд░ рдЗрд╕рд▓рд┐рдП, рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ 32-рдмрд╛рдЗрдЯ рд╣реИрд╢ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдордиреЗ рдпрд╣реА рдХрд┐рдпрд╛ рд╣реИ:

рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рд╢рд░реНрдд рдХрд╛ рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддреАрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЗ рд╕рд╛рде рдорд┐рдХреНрд╕рдЧрд┐рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддреАрд╕рд░реЗ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
mixGene (X, Y, Z), рдЬрд╣рд╛рдБ currentBlockNumber Z <256 рд╣реИ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ PUSH32 рд╣реИрд╢ рдХреЛ Z рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ
mixGene (X, Y, Z), рдЬрд╣рд╛рдБ currentBlockNumber Z you 256 рд╣реИ, рдЖрдкрдХреЛ PUSH32 рд╣реИрд╢ рдХреЛ proj_Z рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдБ proj_Z рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
proj_Z = (currentBlockNumber & ~0xff) + (Z & 0xff); if (proj_Z > currentBlockNumber) { proj_Z -= 256; } <b> Z proj_Z , mixGene(X, Y, proj_Z).</b>
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╢реНрд░реЗрдгреА рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ proj_Z рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ Z & 0xff = 128, рддреЛ proj_Z рдХреЗрд╡рд▓ рдкреНрд░рддреНрдпреЗрдХ рд╢реВрдиреНрдп рдФрд░ 128 рд╡реЗрдВ рдмреНрд▓реЙрдХ рдкрд░ рдмрджрд▓рддрд╛ рд╣реИред
рдЗрд╕ рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдФрд░ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдЧреЗ рдХреЛрдИ
рдХрдореА рд╣реИ рдпрд╛ рдирд╣реАрдВ , рд╣рдордиреЗ
рдмрд╛рдИрдЯреЗрдХреЛрдб рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдФрд░ рд╢рд╛рдВрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рд╕реЗ
рд╣реЗрд╡рдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА рднреА hevm рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдпрд╣ рдЙрдкрдХрд░рдг рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╕реНрдЯреИрдХ рдбрд┐рдмрдЧрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
Usage: hevm exec --code TEXT [--calldata TEXT] [--address ADDR] [--caller ADDR] [--origin ADDR] [--coinbase ADDR] [--value W256] [--gas W256] [--number W256] [--timestamp W256] [--gaslimit W256] [--gasprice W256] [--difficulty W256] [--debug] [--state STRING] Available options: -h,--help
рдКрдкрд░ рд▓реЙрдиреНрдЪ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкрдХреЛ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ - рдбрд┐рдбрдмрдЧ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдореБрдЦреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рддреИрдирд╛рдд рдЬреАрдирд╕рд╛рдЗрдВрд╕ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрдИ рдХреЙрд▓ рдХрд┐рдП рдФрд░ рдкрд░рд┐рдгрд╛рдо рджрд░реНрдЬ рдХрд┐рдПред рддрдм рд╣рдордиреЗ рдЕрдкрдиреЗ рдЯреВрдЯреЗ рд╣реБрдП рдмрд╛рдпреЛрдЯреЗрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдирд┐рдпрдореЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ ...
рдкрд░рд┐рдгрд╛рдо рд╡рд╣реА рд╣реИрдВ!
рдЕрдВрддрд┐рдо рдЕрдзреНрдпрд╛рдп: рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рдХрд╛рдо рдХреА рдирд┐рд░рдВрддрд░рддрд╛ (?)
рддреЛ рд╣рдо рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рдкрд╛рдП рд╣реИрдВ?
рд╣рдорд╛рд░реЗ рд╣реИрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рдирд╡рдЬрд╛рдд рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП 256-рдмрд┐рдЯ рдЬреАрди рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХрд╛ 100% рдореМрдХрд╛ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рдореЗрдВ рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИ [coolDownEndBlock (рдЬрдм рдмрдЪреНрдЪрд╛ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ), рд╡рд░реНрддрдорд╛рди рдмреНрд▓реЙрдХ + 256 (рд▓рдЧрднрдЧ) рд╣реИред рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЬрдм рдмрдЪреНрдЪрд╛ рдорд╛рдВ рдмрд┐рд▓реНрд▓реА рдХреЗ рдЧрд░реНрдн рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЬреАрди рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ, рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд coolDownEndBlock рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдВрдЯреНрд░реЛрдкреА рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рдХрд╛рд░рдг, рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рднреА рдмрджрд▓рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢рд┐рд╢реБ рдХрд╛ рдЬреАрди рдХреИрд╕рд╛ рд╣реЛрдЧрд╛, рдпрджрд┐ рд╡рд╣ рдЕрднреА рдкреИрджрд╛ рд╣реБрдЖ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЬреАрди рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд▓рдЧрднрдЧ 256 рдФрд░ рдмреНрд▓реЙрдХ (рдФрд╕рддрди) рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдП рдЬреАрди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЛрдИ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдХреЗрд╡рд▓ 100% рд╕рдЯреАрдХрддрд╛ рдХреЛ рдПрдХ рдорд╛рдБ-рдмрд┐рд▓реНрд▓реА рдХреА рдЧрд░реНрднрд╛рд╡рд╕реНрдерд╛ рд╕реЗ рдкрд╣рд▓реЗ рднреА рдПрдХ рдЖрджрд░реНрд╢ рд╣реИрдХрд┐рдВрдЧ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдХрд╛ рдЬреАрди рди рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЬреАрди рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдмреНрд▓реЙрдХ рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╣реИрд╢ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХрд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рд╖реЗрдЪрди рд╕реЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреНрдпрд╛ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ?
рд╣рдо рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рднрд╛рдЧ (25 рд▓реЗрдмрд▓ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ) рдореЗрдВ рд╕реНрдЯреИрдХ рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдЬрд▓реНрджреА рд╕реЗ рдЪрд▓реЗ рдЧрдП рдФрд░ рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдорд┐рдХреНрд╕рдЧреАрди рдХреЛрдб рдХрд╛ рдпрд╣ рдЕрдиреБрдорд╛рдирд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡рд┐рд╖рдп рд╣реИред рд╣рдо рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдореНрдпреВрдЯреЗрд╢рди рдХрд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд▓реЙрдХ рд╣реИрд╢ рднреА рдХреБрдЫ рднреМрддрд┐рдХ рдорд╣рддреНрд╡ рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЬреАрди рдХреЛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдмрд┐рдирд╛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдореВрд▓ рдЬреАрди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрд░реЛрдд рдЬреАрди рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рднреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдордиреЗ 256-рдмрд┐рдЯ рдЬреАрди рдФрд░ рдмрд┐рд▓реНрд▓реА рдХрд╛ рдмрдЪреНрдЪрд╛ рд▓рдХреНрд╖рдг (рдЖрдВрдЦреЛрдВ рдХрд╛ рд░рдВрдЧ, рдкреВрдВрдЫ рдкреНрд░рдХрд╛рд░, рдЖрджрд┐) рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдХреЛ рднреА рдирд╣реАрдВ рдорд╛рдкрд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рдмреЙрдЯ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреА рдорджрдж рд╕реЗ рдХрд╛рдлреА рд╕рдВрднрд╡ рд╣реИред
рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдо CryptoKitties рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рдореНрдпреВрдЯреЗрд╢рди рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рдордиреЗ рдХрд┐рдпрд╛ рдерд╛ред
рд╣рдо Etherscan, hevm, evmdis, truffle, testrpc, myetherwallet рдФрд░ Solidity рдЬреИрд╕реЗ рдЯреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рдПрдереЗрд░рд┐рдпрдо рд╕рдореБрджрд╛рдп рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдореБрджрд╛рдп рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирдХрд░ рдЦреБрд╢ рд╣реИрдВред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб
https://github.com/modong/GeneScienceCracked/рдЕрдиреБрдорд╛рдирд┐рдд рдмреНрд▓реЙрдХ рдХреЗ рд╣реИрд╢ рдХреЛ $ CONSTBLOCKHASH $ рдмрджрд▓рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред
