Cov ntaub ntawv Cargo.toml yog siv los teeb tsa cov ntaub ntawv qhia txog qhov project thiab cov ntaub ntawv hauv tsev qiv ntawv. Ntu [lib] ntawm cov ntaub ntawv yuav tsum tau teem rau crate-type = ["cdylib"]. Cov ntaub ntawv lib.rs yog siv los sau cov ntawv cog lus logic code. Tsis tas li ntawd, koj yuav tsum tau ntxiv qhov kev cia siab rau qhov [dependencies] seem ntawm Cargo.toml configuration file:
Nrog rau qhov kev cia siab no, cov neeg tsim khoom tuaj yeem hu rau cov kev sib tshuam uas cuam tshuam nrog Ontology blockchain thiab cov cuab yeej xws li serialization parameter.
Daim ntawv cog lus ua haujlwm
Txhua qhov kev zov me nyuam muaj cov haujlwm nkag, zoo li lub luag haujlwm tseem ceeb peb feem ntau pom, tab sis daim ntawv cog lus tsis muaj lub luag haujlwm tseem ceeb. Thaum daim ntawv cog lus Wasm yog tsim los siv Rust, lub neej ntawd invoke muaj nuj nqi yog siv raws li cov tswv yim muaj nuj nqi siv daim ntawv cog lus. Lub npe ntawm kev ua haujlwm hauv Rust yuav tsis meej thaum sau Rust qhov chaws rau hauv bytecode uas tuaj yeem ua tiav los ntawm lub tshuab virtual. Txhawm rau tiv thaiv lub compiler los ntawm kev tsim cov lej tsis txaus thiab txo qhov loj ntawm daim ntawv cog lus, qhov kev thov ua haujlwm ntxiv rau #[no_mangle] annotation.
Yuav ua li cas invoke muaj nuj nqi tau parameters los ua ib tug lw?
Lub tsev qiv ntawv ontio_std muab lub sijhawm ua haujlwm:: input() ua haujlwm kom tau txais cov kev txwv rau kev ua lag luam. Cov neeg tsim khoom siv tau ZeroCopySource los deserialize qhov tshwm sim byte array. Nyob rau hauv uas thawj array ntawm bytes nyeem yog lub npe ntawm invoke method, ua raws li cov txheej txheem tsis.
Cov txiaj ntsig ntawm kev ua tiav daim ntawv cog lus tau xa rov qab li cas?
Lub sijhawm khiav:: ret muaj nuj nqi muab los ntawm lub tsev qiv ntawv ontio_std rov qab qhov tshwm sim ntawm kev ua tiav.
Qhov ua tiav invoke muaj nuj nqi zoo li no:
Serializing thiab Deserializing daim ntawv cog lus
Nyob rau hauv tus txheej txheem ntawm kev tsim cov ntawv cog lus, cov neeg tsim khoom ib txwm ua rau muaj teeb meem nrog serialization thiab deserialization, tshwj xeeb nrog yuav ua li cas khaws cov ntaub ntawv hauv cov ntaub ntawv thiab yuav ua li cas deserialize ib byte array nyeem los ntawm cov ntaub ntawv kom tau txais cov ntaub ntawv hom.