рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

рдСрдиреНрдЯреЛрд▓реЙрдЬреА Wasm рддрдВрддреНрд░рдЬреНрдЮрд╛рди dApp рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рдХреНрд▓рд┐рд╖реНрдЯ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рд╕рд╣ рдмреНрд▓реЙрдХрдЪреЗрдирдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХрд┐рдВрдордд рдХрдореА рдХрд░рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ dApp рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕рдореГрджреНрдз рд╣реЛрддреЗ.

рд╕рдзреНрдпрд╛ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╡рд╛рд╕реНрдо рдПрдХрд╛рдЪ рд╡реЗрд│реА рд░рд╕реНрдЯ рдЖрдгрд┐ рд╕реА++ рдпрд╛ рджреЛрдиреНрд╣реАрдордзреНрдпреЗ рд╡рд┐рдХрд╛рд╕рд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ. рд░рд╕реНрдЯ рднрд╛рд╖рд╛ Wasm рд▓рд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ рдЖрдгрд┐ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓рд╛ рдмрд╛рдпрдХреЛрдб рд╕реЛрдкрд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдХреЙрд▓рдЪреА рдХрд┐рдВрдордд рдЖрдгрдЦреА рдХрдореА рд╣реЛрдК рд╢рдХрддреЗ. рддрд░, рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдХрд░рд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рд╕реНрдЯ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ?

рд░рд╕реНрдЯ рд╡рд╛рдкрд░реВрди WASM рдХрд░рд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреЗ

рдХрд░рд╛рд░ рддрдпрд╛рд░ рдХрд░рдгреЗ

рдорд╛рд▓рд╡рд╛рд╣реВ рд░рд╕реНрдЯрдордзреНрдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛рдирд╛ рдкреНрд░рдХрд▓реНрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреЕрдХреЗрдЬреЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдПрдХ рдЪрд╛рдВрдЧрд▓реЗ рд╕рд╛рдзрди рдЖрд╣реЗ, рдЬреЗ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдХреЛрдб рдЖрдгрд┐ рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреЗ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЗ. рдирд╡реАрди рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд╡рд╛рд╕реНрдо рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрдХреНрдд рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛:

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

рддреНрдпрд╛рддреВрди рдирд┐рд░реНрдорд╛рдг рд╣реЛрдгрд╛рд░реА рдкреНрд░рдХрд▓реНрдк рд░рдЪрдирд╛:

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

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

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

рдпрд╛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рд╡рд┐рдХрд╛рд╕рдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЙрд▓ рдХрд░реВ рд╢рдХрддрд╛рдд рдЬреЗ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдмреНрд▓реЙрдХрдЪреЗрди рдЖрдгрд┐ рд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░ рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд.

рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдПрдВрдЯреНрд░реА рдлрдВрдХреНрд╢рди

рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдордордзреНрдпреЗ рдЗрдирдкреБрдЯ рдлрдВрдХреНрд╢рди рдЕрд╕рддреЗ, рдЬрд╕реЗ рдХреА рдореБрдЦреНрдп рдлрдВрдХреНрд╢рди рдЖрдкрдг рд╕рд╣рд╕рд╛ рдкрд╛рд╣рддреЛ, рдкрд░рдВрддреБ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдордзреНрдпреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдирд╕рддреЗ. рд░рд╕реНрдЯ рд╡рд╛рдкрд░реВрди Wasm рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛рдирд╛, рдЗрдирд╡реНрд╣реЛрдХ рдлрдВрдХреНрд╢рдирдЪрд╛ рд╡рд╛рдкрд░ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЗрдирдкреБрдЯ рдлрдВрдХреНрд╢рди рдореНрд╣рдгреВрди рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд░рд╕реНрдЯ рдордзреАрд▓ рдлрдВрдХреНрд╢рдирдЪреЗ рдирд╛рд╡ рдЕрд╕реНрдкрд╖реНрдЯ рдЕрд╕реЗрд▓ рдЬреЗрд╡реНрд╣рд╛ рд░рд╕реНрдЯ рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдмрд╛рдпрдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЛ рдЖрднрд╛рд╕реА рдорд╢реАрдирджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдХрдВрдкрд╛рдЗрд▓рд░рд▓рд╛ рд░рд┐рдбрдВрдбрдВрдЯ рдХреЛрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯрдЪрд╛ рдЖрдХрд╛рд░ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЗрдирд╡реНрд╣реЛрдХ рдлрдВрдХреНрд╢рди #[no_mangle] рднрд╛рд╖реНрдп рдЬреЛрдбрддреЗ.

рдЗрдирд╡реНрд╣реЛрдХ рдлрдВрдХреНрд╢рдирд▓рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдХрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛рдд?

рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА ontio_std рд▓рд╛рдпрдмреНрд░рд░реА рд░рдирдЯрд╛рдЗрдо::рдЗрдирдкреБрдЯ() рдлрдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдбреЗрд╡реНрд╣рд▓рдкрд░ рдкрд░рд┐рдгрд╛рдореА рдмрд╛рдЗрдЯ рдЕтАНреЕрд░реЗ рдбреАрд╕реАрд░рд┐рдпрд▓ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА ZeroCopySource рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд. рдЬреНрдпрд╛рдордзреНрдпреЗ рдкреНрд░рдердо рдмрд╛рдЗрдЯ рдЕреЕрд░реЗ рд░реАрдб рдЗрдирд╡реНрд╣реЛрдХ рдкрджреНрдзрддреАрдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ, рддреНрдпрд╛рдирдВрддрд░ рдореЗрдердб рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕.

рдХрд░рд╛рд░рд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд╕рд╛ рдкрд░рдд рдпреЗрддреЛ?

рд░рдирдЯрд╛рдЗрдо::рд░реЗрдЯ рдлрдВрдХреНрд╢рди, рдЬреЗ ontio_std рд▓рд╛рдпрдмреНрд░рд░реАрджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдореЗрдердб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рдирдЪрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддреЗ.

рдкреВрд░реНрдг рдХреЗрд▓реЗрд▓реЗ рдЗрдирд╡реНрд╣реЛрдХ рдлрдВрдХреНрд╢рди рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ WebAssembly рд╕реНрдорд╛рд░реНрдЯ рдХрд░рд╛рд░ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛? рднрд╛рдЧ 1: рдЧрдВрдЬ

рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдбреЗрдЯрд╛рдЪреЗ рд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди

рдХрд░рд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдиреЗрд╣рдореА рд╕реАрд░рд┐рдЕрд▓рд╛рдпрдЭреЗрд╢рди рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рдирдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ, рд╡рд┐рд╢реЗрд╖рдд: рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╕рд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рд╛рдпрдЪрд╛ рдЖрдгрд┐ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рдмрд╛рдЗрдЯ рдЕреЕрд░реЗрдЪреЗ рдбреАрд╕реАрд░рд┐рдпрд▓ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ.

ontio_std рд▓рд╛рдпрдмреНрд░рд░реА рдбреЗрдЯрд╛ рд╕реАрд░рд┐рдЕрд▓рд╛рдпрдЭрд┐рдВрдЧ рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреАрдХреЛрдбрд░ рдЖрдгрд┐ рдПрдиреНрдХреЛрдбрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╕реНрдЯреНрд░рдХреНрдЪрд░рдЪреЗ рдлреАрд▓реНрдб рдбреАрдХреЛрдбрд░ рдЖрдгрд┐ рдПрдиреНрдХреЛрдбрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рджреЗрдЦреАрд▓ рд▓рд╛рдЧреВ рдХрд░рддрд╛рдд рдЬреЗрдгреЗрдХрд░реБрди рд░рдЪрдирд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдЖрдгрд┐ рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреЗ рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рд╕рд┐рдВрдХ рд╡рд░реНрдЧрд╛рдЪреА рдЙрджрд╛рд╣рд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддрд╛рдд. рд╕рд┐рдВрдХ рдХреНрд▓рд╛рд╕рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ рд╕реЗрдЯ-рдЯрд╛рдЗрдк рдлреАрд▓реНрдб рдмрдл рдЖрд╣реЗ рдЬреЛ рдмрд╛рдЗрдЯ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдЕрдиреБрдХреНрд░рдорд┐рдд рдбреЗрдЯрд╛ рдмрдлрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдирд┐рд╢реНрдЪрд┐рдд-рд▓рд╛рдВрдмреАрдЪреНрдпрд╛ рдбреЗрдЯрд╛рд╕рд╛рдареА (рдЙрджрд╛: рдмрд╛рдЗрдЯ, u16, u32, u64, рдЗ.), рдбреЗрдЯрд╛ рдереЗрдЯ рдмрд╛рдЗрдЯ рдЕреЕрд░реЗрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдирдВрддрд░ buf рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ; рдиреЙрди-рдлрд┐рдХреНрд╕реНрдб рд▓рд╛рдВрдмреА рдбреЗрдЯрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдкреНрд░рдердо рд▓рд╛рдВрдмреА рдЖрдгрд┐ рдирдВрддрд░ Ddata (рдЬрд╕реЗ рдХреА u16, u32 рдХрд┐рдВрд╡рд╛ u64, рдЗ. рд╕рд╣ рдЕрдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░рд╛рдЪреЗ рдЕрд╕реНрд╡рд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ) рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдбрд┐рд╕рд┐рд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдЕрдЧрджреА рдЙрд▓рдЯ рдЖрд╣реЗ. рдкреНрд░рддреНрдпреЗрдХ рд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдкрджреНрдзрддреАрд╕рд╛рдареА рд╕рдВрдмрдВрдзрд┐рдд рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдкрджреНрдзрдд рдЕрд╕рддреЗ. рдбреАрд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рдирд╕рд╛рдареА рд╕реНрддреНрд░реЛрдд рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рд╡рд░реНрдЧ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ buf рдЖрдгрд┐ pos рдЕрд╢реА рджреЛрди рдлреАрд▓реНрдб рдЖрд╣реЗрдд. рдмреБрдлрдЪрд╛ рд╡рд╛рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЛ рдбреАрд╕реАрд░рд┐рдпрд▓ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ pos рдЪрд╛ рд╡рд╛рдкрд░ рд╡рд░реНрддрдорд╛рди рд╡рд╛рдЪрди рд╕реНрдерд┐рддреА рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪрд╛ рдбреЗрдЯрд╛ рд╡рд╛рдЪрд▓рд╛ рдЬрд╛рддреЛ, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рддреНрдпрд╛рдЪреА рд▓рд╛рдВрдмреА рдорд╛рд╣рд┐рдд рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣реА рддреА рдереЗрдЯ рд╡рд╛рдЪреВ рд╢рдХрддрд╛, рдЕрдЬреНрдЮрд╛рдд рд▓рд╛рдВрдмреАрдЪреНрдпрд╛ рдбреЗрдЯрд╛рд╕рд╛рдареА, рдкреНрд░рдердо рд▓рд╛рдВрдмреА рд╡рд╛рдЪрд╛ рдЖрдгрд┐ рдирдВрддрд░ рд╕рд╛рдордЧреНрд░реА рд╡рд╛рдЪрд╛.

рд╕рд╛рдЦрд│реАрддреАрд▓ рдбреЗрдЯрд╛ рдНрдХреНрд╕реЗрд╕ рдЖрдгрд┐ рдЕрдкрдбреЗрдЯ рдХрд░рд╛

рдСрдиреНрдЯреЛрд▓реЙрдЬреА-рд╡рд╛рд╕реНрдо-рд╕реАрдбреАрдЯреА-рд░рд╕реНрдЯ - рд╕рд╛рдЦрд│реАрд╡рд░реАрд▓ рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдСрдкрд░реЗрд╢рдирд▓ рдкрджреНрдзрдд рдПрдиреНрдХреЕрдкреНрд╕реНрдпреБрд▓реЗрдЯ рдХреЗрд▓реА рдЖрд╣реЗ, рдЬреА рдбреЗрд╡реНрд╣рд▓рдкрд░рд╕рд╛рдареА рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕рд╛рдЦрд│реАрд╡рд░реАрд▓ рдбреЗрдЯрд╛ рдЬреЛрдбрдгреЗ, рд╣рдЯрд╡рдгреЗ, рдмрджрд▓рдгреЗ рдЖрдгрд┐ рдХреНрд╡реЗрд░реА рдХрд░рдгреЗ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрд╣реЗ:

  • рдбреЗрдЯрд╛рдмреЗрд╕::рдЧреЗрдЯ(рдХреА) - рд╕рд╛рдЦрд│реАрдХрдбреВрди рдбреЗрдЯрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдХреА AsRef рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рд╡рд┐рдирдВрддреА рдХрд░рддреЗ;
  • рдбреЗрдЯрд╛рдмреЗрд╕::рдкреБрдЯ(рдХреА, рдореВрд▓реНрдп) - рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. AsRef рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдореБрдЦреНрдп рд╡рд┐рдирдВрддреНрдпрд╛ рдЖрдгрд┐ рдПрдиреНрдХреЛрдбрд░ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдореВрд▓реНрдп рд╡рд┐рдирдВрддреА;
  • рдбреЗрдЯрд╛рдмреЗрд╕::рд╣рдЯрд╡рд╛(рдХреА) - рд╕рд╛рдЦрд│реАрддреВрди рдбреЗрдЯрд╛ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдХреА AsRef рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рддреЗ.

рдХрд░рд╛рд░ рдЪрд╛рдЪрдгреА

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

рдХрд░рд╛рд░ рдбреАрдмрдЧ рдХрд░рдд рдЖрд╣реЗ

console::debug(msg) рдХрд░рд╛рд░ рдбреАрдмрдЧ рдХрд░рддрд╛рдирд╛ рдбреАрдмрдЧ рдорд╛рд╣рд┐рддреА рдореБрджреНрд░рд┐рдд рдХрд░рддреЗ. рд╕рдВрджреЗрд╢рд╛рдЪреА рдорд╛рд╣рд┐рддреА рдиреЛрдбрдЪреНрдпрд╛ рд▓реЙрдЧ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдИрд▓. рд╕реНрдерд╛рдирд┐рдХ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рдЪрд╛рдЪрдгреА рдиреЛрдб рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рд▓реЙрдЧ рдлрд╛рдЗрд▓ рд╕реНрддрд░ рдбреАрдмрдЧ рдореЛрдбрд╡рд░ рд╕реЗрдЯ рдХрд░рдгреЗ рд╣реА рдПрдХ рдкреВрд░реНрд╡ рд╢рд░реНрдд рдЖрд╣реЗ.

рд░рдирдЯрд╛рдЗрдо::рд╕реВрдЪрдирд╛(msg) рдХреЙрдиреНрдЯреНрд░реЕрдХреНрдЯ рдбреАрдмрдЧ рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдпреЛрдЧреНрдп рдбреАрдмрдЧрд┐рдВрдЧ рдорд╛рд╣рд┐рддреА рдореБрджреНрд░рд┐рдд рдХрд░рддреЗ. рд╣реА рдкрджреНрдзрдд рдПрдВрдЯрд░ рдХреЗрд▓реЗрд▓реА рдорд╛рд╣рд┐рддреА рд╕рд╛рдЦрд│реАрдд рдЬрддрди рдХрд░реЗрд▓ рдЖрдгрд┐ getSmartCodeEvent рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди рд╕рд╛рдЦрд│реАрддреВрди рд╡рд┐рдЪрд╛рд░рддрд╛ рдпреЗрдИрд▓.

рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рд╣реЕрд╢рд░реЗрдЯ рдЖрдгрд┐ рд╢реЗрдЕрд░реНрд╕рдЪреНрдпрд╛ рд╕рдВрдкрд╛рджрдХрд╛рдВрдиреА рд╡рд┐рд╢реЗрд╖рддрдГ рдСрдиреНрдЯреЛрд▓реЙрдЬреА рд░рд╢рд┐рдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЖрд╣реЗ. рд░рдбрдгреЗ

рддреБрдореНрд╣реА рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣рд╛рдд рдХрд╛? рдпреЗрдереЗ рдЖрдордЪреНрдпрд╛ рдЯреЗрдХ рд╕рдореБрджрд╛рдпрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛ рд╡рд┐рдЪрд┐рддреНрд░. рддрд╕реЗрдЪ, рдПрдХ рдХрдЯрд╛рдХреНрд╖ рд╡рд┐рдХрд╕рдХ рдХреЗрдВрджреНрд░ рдЖрдордЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░, рдЬрд┐рдереЗ рддреБрдореНрд╣реА рд╡рд┐рдХрд╕рдХ рд╕рд╛рдзрдиреЗ, рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА рд╢реЛрдзреВ рд╢рдХрддрд╛.

Ontology

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛