
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Ontology Wasm Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠΌΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΈ dApp ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½, ΠΊΠ°ΡΠΎ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΠΎΠ³Π°ΡΡΠ²Π° Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° dApp.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΠΊΠ°ΠΊΡΠΎ Π½Π° Rust, ΡΠ°ΠΊΠ° ΠΈ Π½Π° C++. Rust ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Wasm, Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΡ Π±Π°ΠΉΡ ΠΊΠΎΠ΄ Π΅ ΠΏΠΎ-ΠΏΡΠΎΡΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΈ. Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Rust Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ° Ontology?
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° WASM ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Ρ Rust
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ
Π΅ Π΄ΠΎΠ±ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ½ΡΠ½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΎΠ² Ontology Wasm ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
![]()
Π‘ΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΡΠΎ ΡΠΎΠΉ Π³Π΅Π½Π΅ΡΠΈΡΠ°:

Π€Π°ΠΉΠ»ΡΡ Cargo.toml ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘Π΅ΠΊΡΠΈΡΡΠ° [lib] Π²ΡΠ² ΡΠ°ΠΉΠ»Π° ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ crate-type = [βcdylibβ]. Π€Π°ΠΉΠ»ΡΡ lib.rs ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° [dependencies] Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Cargo.toml:

Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π·ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°Ρ Ρ Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π° Ontology, ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΡ Π·Π° Π²Ρ ΠΎΠ΄ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
ΠΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° ΠΈΠΌΠ° ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π²Ρ ΠΎΠ΄, ΠΊΠ°ΠΊΠ²Π°ΡΠΎ Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡΡ Π½ΡΠΌΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Wasm ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Rust, ΡΡΠ½ΠΊΡΠΈΡΡΠ° invoke ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° Π²Ρ ΠΎΠ΄ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. ΠΠΌΠ΅ΡΠΎ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° Π² Rust ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π΅ΡΡΠ½ΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Rust Π² Π±Π°ΠΉΡ ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°. ΠΠ° Π΄Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ° Π΄Π° Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΈ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΡΡΠ½ΠΊΡΠΈΡΡΠ° invoke Π΄ΠΎΠ±Π°Π²Ρ Π°Π½ΠΎΡΠ°ΡΠΈΡ #[no_mangle].
ΠΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡΡΠ° invoke ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ?
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΡΡΠ° runtime :: input (), ΠΊΠΎΡΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ZeroCopySource Π·Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ². ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ² Π΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° invoke, ΡΠ»Π΅Π΄Π²Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ°ΠΊ ΡΠ΅ Π²ΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°?
Π€ΡΠ½ΠΊΡΠΈΡΡΠ° runtime::ret, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std, Π²ΡΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΠ°Π²ΡΡΡΠ΅Π½Π°ΡΠ° invoke-ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:

Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
Π ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ²Π°Ρ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ struct Π² Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π±Π°ΠΉΡΠΎΠ²ΠΈΡΡ ΠΌΠ°ΡΠΈΠ², ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ struct.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ»Π΅ΡΠ°ΡΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° struct ΡΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΠ° Sink ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ. ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡΡ Π½Π° ΠΊΠ»Π°ΡΠ° Sink ΠΈΠΌΠ° ΠΏΠΎΠ»Π΅ buf ΠΎΡ ΡΠΈΠΏ set, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π±Π°ΠΉΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² buf.
ΠΠ° Π΄Π°Π½Π½ΠΈ Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: byte, u16, u32, u64 ΠΈ Ρ.Π½.) Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² Π±Π°ΠΉΡΠΎΠ² ΠΌΠ°ΡΠΈΠ² ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² buf; Π·Π° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ°, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π»ΠΈ ΡΠΈΡΠ»Π° Π±Π΅Π· Π·Π½Π°ΠΊ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ u16, u32 ΠΈΠ»ΠΈ u64 ΠΈ Ρ.Π½.).
ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΠΊΠ»Π°ΡΠ° Source. Π’ΠΎΠ·ΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΠΊΠ»Π°ΡΠ° ΠΈΠΌΠ° Π΄Π²Π΅ ΠΏΠΎΠ»Π΅ΡΠ° buf ΠΈ pos. Buf ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, Π° pos ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡΠ°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠΈΠΏ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ ΡΡΡ Π½Π°ΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π° Π·Π° Π΄Π°Π½Π½ΠΈ Ρ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π΄ΡΠ»ΠΆΠΈΠ½Π° β ΠΏΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π΄ΡΠ»ΠΆΠΈΠ½Π°ΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎΡΡΡΠΏ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½Π°
Ontology-wasm-cdt-rust β ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΠΈ Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π΅ ΡΠ΄ΠΎΠ±Π΅Π½ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π·Π° Π΄Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅, ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, ΠΏΡΠΎΠΌΡΠ½Π° ΠΈ Π·Π°ΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
- database::get(key) β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ°, Π° key ΠΏΠΈΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef;
- database::put(key, value) β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅, Π·Π° Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Key ΠΏΠΈΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef, Π° value ΠΏΠΈΡΠ° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Encoder;
- database::delete(key) β ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅, Π·Π° Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ°, Π° key ΠΏΠΈΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° AsRef.
Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΈ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π·Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, Π·Π°ΡΠΎΠ²Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. ΠΠΎ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ΅Π½. ΠΠ° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΈΡΠ΅, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ontio_std ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ mock-ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡΠ» ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ°, ΡΠ»Π΅ΡΠ½ΡΠ²Π°ΠΉΠΊΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ .
ΠΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
console::debug(msg) ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΠΎΡΠ»Π°Π΄ΡΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° msg ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π° Π½Π° Π½ΠΎΠ΄Π°ΡΠ°. ΠΠ°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π»ΠΎΠΊΠ°Π»Π½Π° ΡΠ΅ΡΡΠΎΠ²Π° Π½ΠΎΠ΄Π° Ontology.
runtime::notify(msg) ΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠ° ΠΎΡΠ»Π°Π΄ΡΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°. Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ Π²ΡΠ²Π΅Π΄Π΅Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°ΡΠ²Π΅Π½ ΠΎΡ Π²Π΅ΡΠΈΠ³Π°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° getSmartCodeEvent.
Π‘ΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ° Π½Π° Hashrate&Shares ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° OntologyRussia.
ΠΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ? ΠΡΠΈΡΡΠ΅Π΄ΠΈΠ½Π΅ΡΠ΅ ΡΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Π½Π° . ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π² Π½Π° Π½Π°ΡΠΈΡ ΡΠ°ΠΉΡ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ.
Ontology
- /
- Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ /
- /
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
