Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Ontology Wasm Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° dApp ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΡΠΌ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΠΎΠ³Π°ΡΡΠ²Π° dApp Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΏΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° WASM Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Ρ Rust
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°:
Π€Π°ΠΉΠ»ΡΡ Cargo.toml ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. Π Π°Π·Π΄Π΅Π»ΡΡ [lib] Π½Π° ΡΠ°ΠΉΠ»Π° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½ Π½Π° crate-type = ["cdylib"]. Π€Π°ΠΉΠ»ΡΡ lib.rs ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°ΠΏΠΈΡ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° ΠΊΡΠΌ ΡΠ΅ΠΊΡΠΈΡΡΠ° [dependencies] Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Cargo.toml:
Π‘ ΡΠ°Π·ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π° Ontology ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
ΠΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Π½ΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΡ Π½ΡΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ Wasm Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Rust, ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ Π²Ρ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°. ΠΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π² Rust ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π΅ΡΡΠ½ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Rust Π² Π±Π°ΠΉΡ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. ΠΠ° Π΄Π° ΠΏΠΎΠΏΡΠ΅ΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°, ΡΡΠ½ΠΊΡΠΈΡΡΠ° invoke Π΄ΠΎΠ±Π°Π²Ρ Π°Π½ΠΎΡΠ°ΡΠΈΡΡΠ° #[no_mangle].
ΠΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ?
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΡ runtime::input() Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ZeroCopySource, Π·Π° Π΄Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ² ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅. Π ΠΊΠΎΠΉΡΠΎ ΠΏΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ² ΠΎΡ Π±Π°ΠΉΡΠΎΠ²Π΅ Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ΠΎ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ°ΠΊ ΡΠ΅ Π²ΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°?
Π€ΡΠ½ΠΊΡΠΈΡΡΠ° runtime::ret, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std, Π²ΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄.
ΠΠ°Π²ΡΡΡΠ΅Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ
Π ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°Ρ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°, ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Ρ ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ², ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ΅Π½ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ ΠΈ Π΅Π½ΠΊΠΎΠ΄Π΅Ρ Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΡΡΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅ Π½Π° Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° ΠΈ Π΅Π½ΠΊΠΎΠ΄Π΅ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΠ° Sink ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΊΠ»Π°ΡΠ° Sink ΠΈΠΌΠ° ΠΏΠΎΠ»Π΅ buf ΠΎΡ Π½Π°Π±ΠΎΡΠ΅Π½ ΡΠΈΠΏ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠΈΠΏΠ° Π±Π°ΠΉΡ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² buf.
ΠΠ° Π΄Π°Π½Π½ΠΈ Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° (Π½Π°ΠΏΡ.: Π±Π°ΠΉΡ, u16, u32, u64 ΠΈ Ρ.Π½.), Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ² ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² buf; Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π½Π΅ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Ddata (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π° Π±Π΅Π· Π·Π½Π°ΠΊ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ u16, u32 ΠΈΠ»ΠΈ u64 ΠΈ Ρ.Π½.).
ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π΅ ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΡΠΎ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ° ΡΡΠΎΡΠ²Π΅ΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ ΠΎΡ ΠΊΠ»Π°ΡΠ° Source. Π’ΠΎΠ·ΠΈ ΠΊΠ»Π°Ρ ΠΈΠΌΠ° Π΄Π²Π΅ ΠΏΠΎΠ»Π΅ΡΠ° buf ΠΈ pos. Buf ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, Π° pos ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ ΡΡΡ Π½Π°ΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° - ΠΏΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΡΡΡΠΏ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ°
ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡ-wasm-cdt-ΡΡΠΆΠ΄Π° - ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΠΏΡΠΎΠΌΡΠ½Π° ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΊΡΠΌ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ::get(ΠΊΠ»ΡΡ) - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ Π·Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ°, Π° ΠΊΠ»ΡΡΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef;
- Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ::put(ΠΊΠ»ΡΡ, ΡΡΠΎΠΉΠ½ΠΎΡΡ) - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Key ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef, Π° value ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Encoder;
- Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ::ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅(ΠΊΠ»ΡΡ) - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ°, Π° ΠΊΠ»ΡΡΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef.
Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°
ΠΠΎΠ³Π°ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΈ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π·Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ Π±Π°ΠΉΡ ΠΊΠΎΠ΄Π° Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ° Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. ΠΠΎ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ΅Π½. ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΌΠ°ΠΊΠ΅Ρ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡΠ» ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π² Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°. ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ
ΠΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ°
console::debug(msg) ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Π²ΡΠ·Π΅Π»Π°. ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ°Π²ΠΊΠ° Π΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΡΡ ΡΠ΅ΡΡΠΎΠ² Π²ΡΠ·Π΅Π» Π½Π° ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΡΠ°.
runtime::notify(msg) ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΡ ΡΠ΅ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°. Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π²ΡΠ² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΡΠ²Π΅Π½Π° ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° getSmartCodeEvent.
Π‘ΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΈΡΠ΅ Π½Π° Hashrate&Shares ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° OntologyRussia.
ΠΊΠ»ΠΈΠΊΠ²Π°Π½Π΅
ΠΠΈΠ΅ ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ? ΠΡΠΈΡΡΠ΅Π΄ΠΈΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ°ΡΠ° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ Π½Π°
ΠΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡ
ΠΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΡΠ΅Π±ΡΠ°ΠΉΡ GitHub /ΡΠ°Π·Π΄ΠΎΡ - Telegram
ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈ /Π ΡΡΠΊΠΈ Twitter /Reddit
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com