рдПрдХ рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ WebAssembly рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ? рднрд╛рдЧ 1: рдЬрдВрдЧ

рдЫрд╡рд┐

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

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдУрдиреНрдЯреЛрд▓реЙрдЬреА рд╡рд╛рд╕реНрдо рдПрдХ рд╕рд╛рде рд░рд╕реНрдЯ рдФрд░ рд╕реА ++ рджреЛрдиреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ ред рдЬрдВрдЧ рдмреЗрд╣рддрд░ рд╡рд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрддреНрдкрдиреНрди рдмрд╛рдпрдЯреЗрдХреЛрдб рд╕рд░рд▓ рд╣реИ, рдЬреЛ рдЕрдиреБрдмрдВрдз рдХреЙрд▓ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рддреЛ, рдХреИрд╕реЗ рдУрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рдЕрдиреБрдмрдВрдз рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?

Rust рдХреЗ рд╕рд╛рде WASM рдЕрдиреБрдмрдВрдз рд╡рд┐рдХрд╛рд╕


рдЕрдиреБрдмрдВрдз рдирд┐рд░реНрдорд╛рдг


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

рдЫрд╡рд┐

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЬреЛ рдЗрд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИ:

рдЫрд╡рд┐

Cargo.toml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреБрдирд┐рдпрд╛рджреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдирд┐рд░реНрднрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ [lib] рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЯреЛрдХрд░рд╛-рдкреНрд░рдХрд╛рд░ = ["cdylib"] рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред Lib.rs рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдмрдВрдз рддрд░реНрдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ Cargo.toml рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ [рдирд┐рд░реНрднрд░рддрд╛] рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдЫрд╡рд┐

рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐ рдУрдЯреЛрд▓реЛрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреНрд░рдорд╛рдВрдХрди рдкреИрд░рд╛рдореАрдЯрд░ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгред

рдЕрдиреБрдмрдВрдз рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕рдорд╛рд░реЛрд╣


рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди, рдЬрд┐рд╕реЗ рд╣рдо рдЖрдорддреМрд░ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрдмрдВрдз рдореЗрдВ рдПрдХ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИред рдЬрдм Rust рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ Wasm рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрдирд╡реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Rust рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬрдм Rust source рдХреЛрдб рдХреЛ bytecode рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдирд┐рд░рд░реНрдердХ рдХреЛрдб рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рд╕рд╛рдЗрдЬрд╝ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдиреНрд╡реЛрдХреЗрд╢рди рдлрдВрдХреНрд╢рди # [no_mangle] рдХрд╛ рдЕрдирд╛рдЙрдВрд╕рдореЗрдВрдЯ рдХрд░рддрд╛ рд╣реИред

рдХрд┐рд╕реА рд▓реЗрдирджреЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ?


Ontio_std рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рдирдЯрд╛рдЗрдо :: рдЗрдирдкреБрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ ZeroCopySource рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдРрд░реЗ рд░реАрдб рдЗрдирд╡реЛрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рд╡рд┐рдзрд┐ рдкреИрд░рд╛рдореАрдЯрд░ред

рдЕрдиреБрдмрдВрдз рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рд▓реМрдЯрд╛ рд╣реИ?


рд░рдирдЯрд╛рдЗрдо :: рд░рд┐рдЯ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рдХрд┐ ontio_std рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рдзрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред

рд╕рдорд╛рдкреНрдд рдЖрд╣реНрд╡рд╛рди рд╕рдорд╛рд░реЛрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЫрд╡рд┐

рд╕рдВрд╡рд┐рджрд╛ рдбреЗрдЯрд╛ рдХрд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдбрд┐рд╕реЗрд░рд▓рд╛рдЗрдЬрд╝реЗрд╢рди


рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрд╢рд╛ рдХреНрд░рдордмрджреНрдзрддрд╛ рдФрд░ рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдмрд╛рдЗрдЯреНрд╕ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП deserialize рдХрд░рдирд╛ рд╣реИред

Ontio_std рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбреЗрдЯрд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдбрд┐рд╕реЗрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдХреЛрдбрд░ рдФрд░ рдПрдирдХреЛрдбрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рд╕рдВрд░рдЪрдирд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдбрд┐рдХреЛрдбрд░ рдФрд░ рдПрдирдХреЛрдбрд░ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рднреА рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреНрд░рдордмрджреНрдз рдФрд░ рдирд┐рд░рдВрдХреБрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рддреЗ рд╕рдордп рд╕рд┐рдВрдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рд┐рдВрдХ рдХреНрд▓рд╛рд╕ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рд╕реЗрдЯ-рдкреНрд░рдХрд╛рд░ рдлрд╝реАрд▓реНрдб buf рд╣реИ, рдЬреЛ рдмрд╛рдЗрдЯ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдХреНрд░рдордмрджреНрдз рдбреЗрдЯрд╛ buf рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдмрд╛рдЗрдЯ, u16, u32, u64, рдЖрджрд┐), рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ buf рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд▓рдВрдмрд╛рдИ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ D \ data (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреЗ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ, рдЬрд┐рд╕рдореЗрдВ u16, u32 рдпрд╛ u64, рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред

рд╡рд┐рдЪрд▓рди рд╕рд╣реА рд╡рд┐рдкрд░реАрдд рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рдорд╛рдВрдХрди рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд deserialization рд╡рд┐рдзрд┐ рд╣реИред рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╢реНрд░реЗрдгреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЛ рдлрд╝реАрд▓реНрдбреНрд╕ buf рдФрд░ pos рд╣реИрдВред Buf рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рд░реАрдб рдкреЛрдЬреАрд╢рди рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕реАрдзреЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЬреНрдЮрд╛рдд рд▓рдВрдмрд╛рдИ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП - рдкрд╣рд▓реЗ рд▓рдВрдмрд╛рдИ рдкрдврд╝реЗрдВ, рдФрд░ рдлрд┐рд░ рд╕рд╛рдордЧреНрд░реА рдкрдврд╝реЗрдВред

рдбреЗрдЯрд╛ рдХреЛ рдЪреЗрди рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ


рдУрдиреНрдЯреЛрд▓реЙрдЬреА-рд╡рд╛рд╕реНрдо-рд╕реАрдбреАрдЯреА-рд░рд╕реНрдЯ - рдиреЗ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдПрдХ рдкрд░рд┐рдЪрд╛рд▓рди рд╡рд┐рдзрд┐ рдХреЛ рд╕рдордЭрд╛рдпрд╛, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ, рд╣рдЯрд╛рдиреЗ, рдмрджрд▓рдиреЗ рдФрд░ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ:

  • рдбреЗрдЯрд╛рдмреЗрд╕ :: (рдХреБрдВрдЬреА) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдВрдЬреА Asfef рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ;
  • рдбреЗрдЯрд╛рдмреЗрд╕ :: put (рдХреА, рд╡реИрд▓реНрдпреВ) - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рдореБрдЦ AsRef рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореВрд▓реНрдп рдПрдирдХреЛрдбрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ;
  • рдбреЗрдЯрд╛рдмреЗрд╕ :: рд╣рдЯрд╛рдПрдВ (рдХреБрдВрдЬреА) - рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдВрдЬреА Asfef рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

рд╕рдВрд╡рд┐рджрд╛ рдкрд░реАрдХреНрд╖рдг


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

рдЕрдиреБрдмрдВрдз рдбрд┐рдмрдЧрд┐рдВрдЧ


рдХрдВрд╕реЛрд▓ :: рдбреАрдмрдЧ (рд╕рдВрджреЗрд╢) рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдПрдХ рдЕрдиреБрдмрдВрдз рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдиреЛрдб рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рдПрдЧреАред рд╕реНрдерд╛рдиреАрдп рдУрдгреНрдЯреЛрд▓реЛрдЬреА рдкрд░реАрдХреНрд╖рдг рдиреЛрдб рдХреЗ рдЪрд▓рдиреЗ рдкрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрддрд░ рдХреЛ рдбреАрдмрдЧ рдореЛрдб рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдд рд╣реИред

рд░рдирдЯрд╛рдЗрдо :: рдиреЛрдЯрд┐рдлрд╝рд┐рдХреЗрд╢рди (рд╕рдВрджреЗрд╢) рдЕрдиреБрдмрдВрдз рдХреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреБрдХреНрдд рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдзрд┐ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рджрд░реНрдЬ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрдЪрд╛рдПрдЧрд╛ рдФрд░ рдЧреЗрдЯрд╕реНрдорд╛рд░реНрдЯрдХреЛрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрдХрд┐рдЯ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реИрд╢рдЯреНрд░реЗрдЯ рдФрд░ рд╢реЗрдпрд░реНрд╕ рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдУрдиреНрдЯреЛрд▓реЙрдЬреА рд░рд╢рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ред рдХреНрд▓рд┐рдХ

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ? Discord рдкрд░ рд╣рдорд╛рд░реЗ рддрдХрдиреАрдХреА рд╕рдореБрджрд╛рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЗрдВрджреНрд░ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдЬрд╣рд╛рдВ рдЖрдк рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓, рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдВрдЯрд▓рдЬреА


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


All Articles