αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ Ontology Wasm αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαŸ’αž›αŸƒαžŠαžΎαž˜αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ dApp αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžŠαŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αž‘αŸ…αž€αžΆαž“αŸ‹ blockchain αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αŸαž€αžΌαž‘αžΌαžŸαŸŠαžΈ dApp αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αŸ”

αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ Ontology Wasm αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž‚αžΆαŸ†αž‘αŸ’αžšαž‘αžΆαŸ†αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Rust αž“αž·αž„ C ++ αŸ” αž—αžΆαžŸαžΆ Rust αž‚αžΆαŸ†αž‘αŸ’αžš Wasm αž”αŸ’αžšαžŸαžΎαžšαž‡αžΆαž„αž˜αž»αž“ αž αžΎαž™αž›αŸαžαž€αžΌαžŠαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αž‡αžΆαž„ αžŠαŸ‚αž›αž’αžΆαž…αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαŸ’αž›αŸƒαžŠαžΎαž˜αž“αŸƒαž€αžΆαžšαž αŸ…αžαžΆαž˜αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžšαž”αŸ€αž”αž”αŸ’αžšαžΎ Rust αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology?

αž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ WASM αž‡αžΆαž˜αž½αž™ Rust

αž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ

αž‘αžΉαž€αž’αžΆαž€αžΆαžŸ αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸαž›αŸ’αž’ αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Rust αžŠαŸ‚αž›αž‡αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž“αŸƒαž€αžΌαžŠ αž“αž·αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαž±αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ Ontology Wasm αžαŸ’αž˜αžΈαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αžœαžΆαž”αž„αŸ’αž€αžΎαžαŸ–

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

αž―αž€αžŸαžΆαžš Cargo.toml αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ†αž–αŸαžαŸŒαž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž’αžΆαžŸαŸ’αžšαŸαž™αŸ” αž•αŸ’αž“αŸ‚αž€ [lib] αž“αŸƒαž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαžαŸ‚αž€αŸ†αžŽαžαŸ‹αž‘αŸ…αž‡αžΆ crate-type = ["cdylib"] αŸ” αž―αž€αžŸαžΆαžš lib.rs αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αžΌαžŠαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž“αŸ’αžαŸ‚αž˜αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž‘αŸ…αž•αŸ’αž“αŸ‚αž€ [αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™] αž“αŸƒαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ Cargo.tomlαŸ–

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž αŸ…αž‘αŸ…αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ Ontology blockchain αž“αž·αž„αž§αž”αž€αžšαžŽαŸαžŠαžΌαž…αž‡αžΆαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŸαŸ€αžšαŸ€αž›αŸ”

αž˜αž»αžαž„αžΆαžšαž…αžΌαž›αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αžΈαž˜αž½αž™αŸ—αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžŠαžΌαž…αž‡αžΆαž˜αž»αžαž„αžΆαžšαž…αž˜αŸ’αž”αž„αžŠαŸ‚αž›αž™αžΎαž„αžƒαžΎαž‰αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž˜αž·αž“αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ Wasm αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž”αŸ’αžšαžΎ Rust αž˜αž»αžαž„αžΆαžšαž αŸ…αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž˜αž»αžαž„αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαŸ” αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž˜αž»αžαž„αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Rust αž“αžΉαž„αž˜αž·αž“αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αž…αž„αž€αŸ’αžšαž„αž€αžΌαžŠαž”αŸ’αžšαž—αž– Rust αž‘αŸ…αž‡αžΆ bytecode αžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžŠαŸ„αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αžΆαŸ’αž€αžšαž’αŸ’αž“αž€αž…αž„αž€αŸ’αžšαž„αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαžŠαŸ‚αž›αž›αŸ‚αž„αž”αŸ’αžšαžΎαž αžΎαž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž‘αŸ†αž αŸ†αž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ αž˜αž»αžαž„αžΆαžšαž αŸ…αž…αžΌαž›αž”αž“αŸ’αžαŸ‚αž˜αž…αŸ†αžŽαžΆαžšαž–αž“αŸ’αž™αž›αŸ‹ #[no_mangle] αŸ”

αžαžΎαž˜αž»αžαž„αžΆαžšαž αŸ…αž…αžΌαž›αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ ontio_std αž•αŸ’αžŠαž›αŸ‹αž“αžΌαžœαž˜αž»αžαž„αžΆαžš runtime::input() αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž”αŸ’αžšαžΎ ZeroCopySource αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ†αž”αŸ‚αž€αž’αžΆαžšαŸαž”αŸƒαž›αž‘αŸ’αž’αž•αž›αŸ” αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡αž’αžΆαžšαŸαžŠαŸ†αž”αžΌαž„αž“αŸƒαž”αŸƒαžŠαŸ‚αž›αž”αžΆαž“αž’αžΆαž“αž‚αžΊαž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž αŸ…αžαžΆαž˜αž–αžΈαž€αŸ’αžšαŸ„αž™αžŠαŸ„αž™αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαŸ”

αžαžΎβ€‹αž›αž‘αŸ’αž’αž•αž›β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆβ€‹αž”αžΆαž“β€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αž˜αž€β€‹αžœαž·αž‰β€‹αž™αŸ‰αžΆαž„β€‹αžŽαžΆ?

αž–αŸαž›αžœαŸαž›αžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš :: αž’αž“αž»αž‚αž˜αž“αŸ ret αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ ontio_std αžαŸ’αžšαž‘αž”αŸ‹αž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαŸ”

αž˜αž»αžαž„αžΆαžšαž αŸ…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαžŸαžšαžŸαŸαžšαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž†αŸ’αž›αžΆαžαžœαŸƒ WebAssembly αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰ Ontology? αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž…αŸ’αžšαŸ‚αŸ‡

Serializing αž“αž·αž„ Deserializing αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ

αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ‚αž„αžαŸ‚αž‡αž½αž”αž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™ serialization αž“αž·αž„ deserialization αž‡αžΆαž–αž·αžŸαŸαžŸαž‡αžΆαž˜αž½αž™αžšαž”αŸ€αž”αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™ struct αž“αŸ…αž€αŸ’αž“αž»αž„ database αž“αž·αž„αžšαž”αŸ€αž” deserialize a byte array αž’αžΆαž“αž–αžΈ database αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“ struct data typeαŸ”

αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ ontio_std αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αžŒαž·αž€αžΌαžŠ αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž€αžΌαžŠαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ€αžšαŸ€αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„ deserialization αŸ” αžœαžΆαž›αž“αŸƒ struct αž˜αž½αž™αž€αŸαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžŒαž·αž€αžΌαžŠ αž“αž·αž„αž’αŸŠαž·αž“αž€αžΌαžŠαžŒαŸαžšαž•αž„αžŠαŸ‚αžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ€αžšαŸ€αž› αž“αž·αž„ deserialized αŸ” Instances αž“αŸƒ Sink class αž‚αžΊαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ€αžšαŸ€αž›αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹ Sink αž˜αžΆαž“ buf αžœαžΆαž›αž”αŸ’αžšαž—αŸαž‘ set-type αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž—αŸαž‘αž”αŸƒ αž αžΎαž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŠαžΆαž€αŸ‹αž‡αžΆαžŸαŸŠαŸαžšαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„ buf αŸ”

αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžœαŸ‚αž„αžαŸαžš (αž§αž‘αžΆαž αžšαžŽαŸαŸ– byte, u16, u32, u64 αŸ”αž›αŸ”) αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž‘αŸ…αž‡αžΆαž’αžΆαžšαŸαž”αŸƒαž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„ buf αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸƒαž”αŸ’αžšαžœαŸ‚αž„αž˜αž·αž“αž€αŸ†αžŽαžαŸ‹ αž”αŸ’αžšαžœαŸ‚αž„αžαŸ’αžšαžΌαžœαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ€αžšαŸ€αž›αž‡αžΆαž˜αž»αž“αžŸαž·αž“ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ Ddata (αž§αž‘αžΆαž αžšαžŽαŸ αž…αŸ†αž“αž½αž“αž‚αžαŸ‹αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž“αŸƒαž‘αŸ†αž αŸ†αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹ αžšαž½αž˜αž‘αžΆαŸ†αž„ u16, u32 ឬ u64 αŸ”αž›αŸ”)αŸ”

Deserialization αž‚αžΊαž•αŸ’αž‘αž»αž™αžŸαŸ’αžšαž‘αŸ‡αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΆαž›αŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž serialization αž˜αžΆαž“αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž deserialization αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ” Deserialization αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαžαŸ’αž“αžΆαž€αŸ‹αž”αŸ’αžšαž—αž–αŸ” instance αžαŸ’αž“αžΆαž€αŸ‹αž“αŸαŸ‡αž˜αžΆαž“αžœαžΆαž›αž–αžΈαžš buf αž“αž·αž„ pos αŸ” Buf αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“ deserialized αž αžΎαž™ pos αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αž‘αžΈαžαžΆαŸ†αž„β€‹αž’αžΆαž“β€‹αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž”αŸ’αžšαž—αŸαž‘αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž“ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžŠαžΉαž„αž–αžΈαž”αŸ’αžšαžœαŸ‚αž„αžšαž”αžŸαŸ‹αžœαžΆ αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αžœαžΆαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αž”αŸ’αžšαžœαŸ‚αž„β€”αž’αžΆαž“αž”αŸ’αžšαžœαŸ‚αž„αž‡αžΆαž˜αž»αž“αžŸαž·αž“ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αžΆαž“αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαŸ”

αž…αžΌαž›αž”αŸ’αžšαžΎ αž“αž·αž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹

ontology-wasm-cdt-rust - αž”αž„αŸ’αž€αž”αŸ‹αž“αžΌαžœαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αžŠαŸ‚αž›αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΌαž…αž‡αžΆ αž”αž“αŸ’αžαŸ‚αž˜ αž›αž»αž” αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αž·αž„αžŸαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ–:get(key) - αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αž αžΎαž™αžŸαŸ†αžŽαžΎαž‚αž“αŸ’αž›αžΉαŸ‡αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ AsRef αŸ”
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™::put(key, value) - αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαž”αžŽαŸ’αžαžΆαž‰αŸ” αž‚αž“αŸ’αž›αžΉαŸ‡αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ AsRef αž αžΎαž™αžαž˜αŸ’αž›αŸƒαžŸαŸ’αž“αžΎαž±αŸ’αž™αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸŠαž·αž“αž€αžΌαžŠαžŒαŸαžšαŸ”
  • αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ–:αž›αž»αž”(αžŸαŸ„) - αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž™αž€β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž…αŸαž‰β€‹αž–αžΈβ€‹αžαŸ’αžŸαŸ‚β€‹αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αž αžΎαž™β€‹αžŸαŸ†αžŽαžΎβ€‹αž‚αž“αŸ’αž›αžΉαŸ‡β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž…αŸ†αžŽαž»αž…β€‹αž”αŸ’αžšαž‘αžΆαž€αŸ‹ AsRef αŸ”

αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αž αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž›αžΎαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αž αžΎαž™αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαŸ‚αž›αžŸαž˜αžŸαŸ’αžšαž”αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· bytecode αž“αŸƒαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αžΆαž‘αžΌαž‘αŸ…αžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž“αŸ…αž›αžΎαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž“αŸαŸ‡αž‚αžΊαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ ontio_std αž•αŸ’αžαž›αŸ‹αž˜αŸ‰αžΌαžŒαž»αž›αž‚αŸ†αžšαžΌαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαŸ” αž˜αŸ‰αžΌαžŒαž»αž›αž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž€αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ€αž‚αŸ’αžœαžΈ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž―αž€αžαžΆαžŸαžΆαž€αž›αŸ’αž”αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž€αŸ’αž“αž»αž„αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαŸ” αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž’αžΆαž…αžšαž€αž”αžΆαž“ αž“αŸ…αž‘αžΈαž“αŸαŸ‡.

αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆ

console::debug(msg) αž”αž„αŸ’αž αžΆαž‰β€‹αž–αŸαžαŸŒαž˜αžΆαž“β€‹αž”αŸ†αž”αžΆαžαŸ‹β€‹αž€αŸ†αž αž»αžŸ αžαžŽαŸˆβ€‹αžŠαŸ‚αž›β€‹αž€αŸ†αž–αž»αž„β€‹αž€αŸ‚β€‹αž€αŸ†αž αž»αžŸβ€‹αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαŸ” αž–αŸαžαŸŒαž˜αžΆαž“ msg αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž» node αŸ” αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž‡αžΆαž˜αž»αž“αž‚αžΊαžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αžšαž·αžαž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αŸ…αž‡αžΆαžšαž”αŸ€αž”αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž“αžΆαŸ†αž„αžŸαžΆαž€αž›αŸ’αž”αž„ Ontology αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

runtime ::notify(msg) αž”αž‰αŸ’αž…αŸαž‰αž–αŸαžαŸŒαž˜αžΆαž“αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αžŸαž˜αžŸαŸ’αžšαž” αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž€αž·αž…αŸ’αž…αžŸαž“αŸ’αž™αžΆαž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž“αžΉαž„αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹ αž αžΎαž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž½αžšαž–αžΈαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αžŠαŸ„αž™αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžš getSmartCodeEvent αŸ”

αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž€αž”αŸ’αžšαŸ‚αžŠαŸ„αž™αž’αŸ’αž“αž€αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž“αŸƒ Hashrate & Shares αž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ OntologyRussia αŸ” αž™αŸ†

αžαžΎαž’αŸ’αž“αž€αž‡αžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αŸ‚αž“αž‘αŸ? αž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™αžŸαž αž‚αž˜αž“αŸαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžšαž”αžŸαŸ‹αž™αžΎαž„αž“αŸ… αžœαž·αžœαžΆαž‘. αž•αž„αžŠαŸ‚αžšαžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž› αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαžšαž”αžŸαŸ‹αž™αžΎαž„ αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž§αž”αž€αžšαžŽαŸαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž―αž€αžŸαžΆαžš αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ”

Ontology

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹