เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

เช‘เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ Wasm เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€ เชฌเซเชฒเซ‹เช•เชšเซ‡เชจเชฎเชพเช‚ เชœเชŸเชฟเชฒ เชฌเชฟเชเชจเซ‡เชธ เชฒเซ‹เชœเชฟเช• เชธเชพเชฅเซ‡ dApp เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซ‡ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช•เชฟเช‚เชฎเชค เช˜เชŸเชพเชกเซ‡ เช›เซ‡, เชœเซ‡เชจเชพเชฅเซ€ dApp เช‡เช•เซ‹เชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชฎเซ‹เชŸเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชธเชฎเซƒเชฆเซเชง เชฌเชจเชพเชตเซ‡ เช›เซ‡.

ะ’ ะฝะฐัั‚ะพัั‰ะตะต ะฒั€ะตะผั เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชตเชพเชธเซเชฎ เชธเชพเชฅเซ‡ เชœ เชฐเชธเซเชŸ เช…เชจเซ‡ C++ เชตเชฟเช•เชพเชธ เชฌเช‚เชจเซ‡เชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชฐเชธเซเชŸ เชฒเซ‡เช‚เช—เซเชตเซ‡เชœ Wasm เชจเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชœเชจเชฐเซ‡เชŸ เชฅเชฏเซ‡เชฒ เชฌเชพเชฏเชŸเซ‡เช•เซ‹เชก เชธเชฐเชณ เช›เซ‡, เชœเซ‡ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‹เชฒเซเชธเชจเซ‹ เช–เชฐเซเชš เชตเชงเซ เช˜เชŸเชพเชกเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เช•เชฐเชพเชฐ เชตเชฟเช•เชธเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹?

เชฐเชธเซเชŸ เชธเชพเชฅเซ‡ WASM เช•เชฐเชพเชฐ เชตเชฟเช•เชธเชพเชตเชตเซ‹

เชเช• เช•เชฐเชพเชฐ เชฌเชจเชพเชตเซ‹

เช•เชพเชฐเซเช—เซ‹ เชฐเชธเซเชŸ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชเช• เชธเชพเชฐเซเช‚ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชŸ เช…เชจเซ‡ เชชเซ‡เช•เซ‡เชœ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชŸเซ‚เชฒ เช›เซ‡, เชœเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชจเซ‡ เช•เซ‹เชก เช…เชจเซ‡ เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ€ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชตเชงเซ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡. เชจเชตเซ‹ เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชตเชพเชธเซเชฎ เช•เซ‹เชจเซเชŸเซเชฐเซ‡เช•เซเชŸ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค เชจเซ€เชšเซ‡เชจเซ‹ เช†เชฆเซ‡เชถ เชšเชฒเชพเชตเซ‹:

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชณเช–เซเช‚ เชคเซ‡ เชฌเชจเชพเชตเซ‡ เช›เซ‡:

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

Cargo.toml เชซเชพเช‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฎเซ‚เชณเชญเซ‚เชค เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชนเชฟเชคเซ€ เช…เชจเซ‡ เช†เชถเซเชฐเชฟเชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชซเชพเชˆเชฒเชจเซ‹ [lib] เชตเชฟเชญเชพเช— crate-type = ["cdylib"] เชชเชฐ เชธเซ‡เชŸ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช. lib.rs เชซเชพเช‡เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชฒเซ‹เชœเชฟเช• เช•เซ‹เชก เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชตเชงเซเชฎเชพเช‚, เชคเชฎเชพเชฐเซ‡ Cargo.toml เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชซเชพเช‡เชฒเชจเชพ [เชจเชฟเชฐเซเชญเชฐเชคเชพ] เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

เช† เชจเชฟเชฐเซเชญเชฐเชคเชพ เชธเชพเชฅเซ‡, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชเชตเชพ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช‘เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชฌเซเชฒเซ‹เช•เชšเซ‡เชจ เช…เชจเซ‡ เชŸเซ‚เชฒเซเชธ เชœเซ‡เชฎ เช•เซ‡ เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซ‡เชถเชจ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐ เชธเชพเชฅเซ‡ เช•เซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ‡ เช›เซ‡.

เช•เชฐเชพเชฐ เชชเซเชฐเชตเซ‡เชถ เช•เชพเชฐเซเชฏ

เชฆเชฐเซ‡เช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฎเชพเช‚ เช‡เชจเชชเซเชŸ เชซเช‚เช•เซเชถเชจ เชนเซ‹เชฏ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฎเซเช–เซเชฏ เชซเช‚เช•เซเชถเชจ เชœเซ‡ เช†เชชเชฃเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชœเซ‹เชˆเช เช›เซ€เช, เชชเชฐเช‚เชคเซ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชฎเชพเช‚ เชฎเซเช–เซเชฏ เช•เชพเชฐเซเชฏ เชนเซ‹เชคเซเช‚ เชจเชฅเซ€. เชœเซเชฏเชพเชฐเซ‡ เชฐเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Wasm เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เช‡เชจเซเชตเซ‹เช• เชซเช‚เช•เซเชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‡เชจเชชเซเชŸ เชซเช‚เช•เซเชถเชจ เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡. เชฐเชธเซเชŸ เชธเซ‹เชฐเซเชธ เช•เซ‹เชกเชจเซ‡ เชฌเชพเช‡เชŸเช•เซ‹เชกเชฎเชพเช‚ เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฐเชธเซเชŸเชฎเชพเช‚ เชซเช‚เช•เซเชถเชจเชจเซเช‚ เชจเชพเชฎ เช…เชธเซเชชเชทเซเชŸ เชนเชถเซ‡ เชœเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชฆเซเชตเชพเชฐเชพ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช•เชฎเซเชชเชพเชˆเชฒเชฐเชจเซ‡ เชฐเซ€เชกเชจเซเชกเชจเซเชŸ เช•เซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเชคเชพ เช…เชŸเช•เชพเชตเชตเชพ เช…เชจเซ‡ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸเชจเซเช‚ เช•เชฆ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡, เช‡เชจเซเชตเซ‹เช• เชซเช‚เช•เซเชถเชจ #[no_mangle] เชเชจเซ‹เชŸเซ‡เชถเชจ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡.

เช‡เชจเซเชตเซ‹เช• เชซเช‚เช•เซเชถเชจ เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡?

ontio_std เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชจเชŸเชพเช‡เชฎ::เช‡เชจเชชเซเชŸ() เชซเช‚เช•เซเชถเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชกเซ‡เชตเชฒเชชเชฐเซเชธ เชชเชฐเชฟเชฃเชพเชฎเซ€ เชฌเชพเชˆเชŸ เชเชฐเซ‡เชจเซ‡ เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ ZeroCopySource เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชœเซ‡เชฎเชพเช‚ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฌเชพเชˆเชŸเซเชธเชจเซ€ เชชเซเชฐเชฅเชฎ เชเชฐเซ‡ เช‡เชจเซเชตเซ‹เช• เชฎเซ‡เชฅเชกเชจเซเช‚ เชจเชพเชฎ เช›เซ‡, เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชฎเซ‡เชฅเชก เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเซเชธ.

เช•เชฐเชพเชฐ เช…เชฎเชฒเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเชฐเชค เช†เชตเซ‡ เช›เซ‡?

ontio_std เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชฆเซเชตเชพเชฐเชพ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฐเชจเชŸเชพเชˆเชฎ::เชฐเซ‡เชŸ เชซเช‚เช•เซเชถเชจ เชฎเซ‡เชฅเชก เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เช†เชชเซ‡ เช›เซ‡.

เชชเซ‚เชฐเซเชฃ เช‡เชจเซเชตเซ‹เช• เชซเช‚เช•เซเชถเชจ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเช–เชตเซ‹? เชญเชพเช— 1: เชฐเชธเซเชŸ

เช•เซ‹เชจเซเชŸเซเชฐเซ‡เช•เซเชŸ เชกเซ‡เชŸเชพเชจเซ‡ เชธเซ€เชฐเซ€เชฏเชฒเชพเช‡เชเชฟเช‚เช— เช…เชจเซ‡ เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเช‡เช เช•เชฐเชตเซเช‚

เช•เซ‹เชจเซเชŸเซเชฐเซ‡เช•เซเชŸ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚, เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชนเช‚เชฎเซ‡เชถเชพ เชธเซ€เชฐเซ€เชฏเชฒเชพเชˆเชเซ‡เชถเชจ เช…เชจเซ‡ เชกเซ€เชธเซ€เชฐเซ€เชฒเชพเชˆเชเซ‡เชถเชจเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ‡ เช›เซ‡, เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚ เชธเซเชŸเซเชฐเช•เซเชŸ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซ‹ เช…เชจเซ‡ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เชตเชพเช‚เชšเซ‡เชฒเชพ เชฌเชพเชˆเชŸ เชเชฐเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเช เช•เชฐเชตเซเช‚.

ontio_std เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชกเซ‡เชŸเชพ เชธเซ€เชฐเซ€เชฏเชฒเชพเช‡เชเซ‡เชถเชจ เช…เชจเซ‡ เชกเซ€เชธเซ€เชฐเซ€เชฏเชฒเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชกเซ€เช•เซ‹เชกเชฐ เช…เชจเซ‡ เชเชจเซเช•เซ‹เชกเชฐ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชชเซ‚เชฐเชพ เชชเชพเชกเซ‡ เช›เซ‡. เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเชพ เช•เซเชทเซ‡เชคเซเชฐเซ‹ เชกเซ€เช•เซ‹เชกเชฐ เช…เชจเซ‡ เชเชจเซเช•เซ‹เชกเชฐ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชชเชฃ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡ เชœเซ‡เชฅเซ€ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เชธเซ€เชฐเซ€เชฏเชฒเชพเชˆเช เช…เชจเซ‡ เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเช เช•เชฐเซ€ เชถเช•เชพเชฏ. เชœเซเชฏเชพเชฐเซ‡ เชตเชฟเชตเชฟเชง เชกเซ‡เชŸเชพ เชชเซเชฐเช•เชพเชฐเซ‹เชจเซ‡ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเชฐเซ‡ เชธเชฟเช‚เช• เชตเชฐเซเช—เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชธเชฟเช‚เช• เช•เซเชฒเชพเชธเชจเชพ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เชธเซ‡เชŸ-เชŸเชพเชˆเชช เชซเซ€เชฒเซเชก เชฌเชซ เชนเซ‹เชฏ เช›เซ‡ เชœเซ‡ เชฌเชพเชˆเชŸ เชŸเชพเชˆเชช เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชธเซ€เชฐเซ€เชฒเชพเชˆเชเซเชก เชกเซ‡เชŸเชพ เชฌเชซเชฎเชพเช‚ เชธเซเชŸเซ‹เชฐ เชฅเชพเชฏ เช›เซ‡.

เชจเชฟเชถเซเชšเชฟเชค เชฒเช‚เชฌเชพเชˆเชจเชพ เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ (เชฆเชพ.เชค.: เชฌเชพเชˆเชŸ, u16, u32, u64, เชตเช—เซ‡เชฐเซ‡), เชกเซ‡เชŸเชพ เชธเซ€เชงเซ‹ เชฌเชพเชˆเชŸ เชเชฐเซ‡เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ buf เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡; เชฌเชฟเชจ-เชจเชฟเชถเซเชšเชฟเชค เชฒเช‚เชฌเชพเชˆเชจเชพ เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡, เชฒเช‚เชฌเชพเชˆ เชชเชนเซ‡เชฒเชพ เช•เซเชฐเชฎเชพเช‚เช•เชฟเชค เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เชชเช›เซ€ Ddata (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, u16, u32, เช…เชฅเชตเชพ u64, เชตเช—เซ‡เชฐเซ‡ เชธเชนเชฟเชค เช…เชœเชพเชฃเซเชฏเชพ เช•เชฆเชจเชพ เชธเชนเซ€ เชจ เช•เชฐเซ‡เชฒเชพ เชชเซ‚เชฐเซเชฃเชพเช‚เช•เซ‹).

เชกเชฟเชธเชฟเชฐเชฟเชฏเชฒเชพเชˆเชเซ‡เชถเชจ เชฌเชฐเชพเชฌเชฐ เชตเชฟเชฐเซเชฆเซเชง เช›เซ‡. เชฆเชฐเซ‡เช• เชธเซ€เชฐเซ€เชฏเชฒเชพเชˆเชเซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เชฎเชพเชŸเซ‡, เช…เชจเซเชฐเซ‚เชช เชกเซ€เชธเซ€เชฐเซ€เชฒเชพเชˆเชเซ‡เชถเชจ เชชเชฆเซเชงเชคเชฟ เช›เซ‡. เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชธเซเชคเซเชฐเซ‹เชค เชตเชฐเซเช—เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เช† เชตเชฐเซเช—เชจเชพ เชฆเชพเช–เชฒเชพเชฎเชพเช‚ เชฌเซ‡ เชซเซ€เชฒเซเชก buf เช…เชจเซ‡ pos เช›เซ‡. เชฌเชซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชกเซ‡เชŸเชพเชจเซ‡ เชกเซ€เชธเซ€เชฐเชฟเชฏเชฒเชพเชˆเช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชชเซ‹เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฐเซเชคเชฎเชพเชจ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชชเซเชฐเช•เชพเชฐเชจเซ‹ เชกเซ‡เชŸเชพ เชตเชพเช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ€ เชฒเช‚เชฌเชพเชˆ เชœเชพเชฃเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชธเซ€เชงเซ‹ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชœเชพเชฃเซเชฏเชพ เชฒเช‚เชฌเชพเชˆเชจเชพ เชกเซ‡เชŸเชพ เชฎเชพเชŸเซ‡ - เชชเชนเซ‡เชฒเชพ เชฒเช‚เชฌเชพเชˆ เชตเชพเช‚เชšเซ‹, เชชเช›เซ€ เชธเชพเชฎเช—เซเชฐเซ€เช“ เชตเชพเช‚เชšเซ‹.

เชธเชพเช‚เช•เชณเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชเช•เซเชธเซ‡เชธ เช…เชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเซ‹

เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€-wasm-cdt-เชฐเชธเซเชŸ - เชธเชพเช‚เช•เชณเชฎเชพเช‚ เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชเช• เช“เชชเชฐเซ‡เชถเชจเชฒ เชชเชฆเซเชงเชคเชฟเชจเซ‡ เชธเชฎเชพเชตเชฟเชทเซเชŸ เช•เชฐเซ€, เชœเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชจเซ€เชšเซ‡ เชชเซเชฐเชฎเชพเชฃเซ‡ เชกเซ‡เชŸเชพ เช‰เชฎเซ‡เชฐเชตเชพ, เช•เชพเชขเซ€ เชจเชพเช–เชตเชพ, เชฌเชฆเชฒเชตเชพ เช…เชจเซ‡ เช•เซเชตเซ‡เชฐเซ€ เช•เชฐเชตเชพ เชœเซ‡เชตเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡:

  • เชกเซ‡เชŸเชพเชฌเซ‡เช::เช—เซ‡เชŸ(เช•เซ€) - เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเชพเช‚เช•เชณเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช•เซ€ AsRef เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡;
  • เชกเซ‡เชŸเชพเชฌเซ‡เช::เชชเซเชŸ(เช•เซ€, เชฎเซ‚เชฒเซเชฏ) - เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡. เช•เซ€ AsRef เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฎเซ‚เชฒเซเชฏ เชเชจเซเช•เซ‹เชกเชฐ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡;
  • เชกเซ‡เชŸเชพเชฌเซ‡เช::เชกเชฟเชฒเซ€เชŸ(เช•เซ€) - เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเชพเช‚เช•เชณเชฎเชพเช‚เชฅเซ€ เชกเซ‡เชŸเชพเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช•เซ€ AsRef เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡.

เช•เชฐเชพเชฐ เชชเชฐเซ€เช•เซเชทเชฃ

เชœเซเชฏเชพเชฐเซ‡ เช•เชฐเชพเชฐเชจเซ€ เชชเชฆเซเชงเชคเชฟเช“ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช…เชฎเชจเซ‡ เชธเชพเช‚เช•เชณ เชชเชฐเชจเชพ เชกเซ‡เชŸเชพเชจเซ€ เชเช•เซเชธเซ‡เชธเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เช•เชฐเชพเชฐเชจเชพ เชฌเชพเช‡เชŸเช•เซ‹เชกเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชธเชพเช‚เช•เชณ เชชเชฐ เช•เชฐเชพเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. เชชเชฐเช‚เชคเซ เชชเชฐเซ€เช•เซเชทเชฃเชจเซ€ เช† เชชเชฆเซเชงเชคเชฟ เชธเชฎเชธเซเชฏเชพเชฐเซ‚เชช เช›เซ‡. เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เช•เชฐเชพเชฐเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, ontio_std เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เชฎเซ‹เช• เชฎเซ‹เชกเซเชฏเซเชฒ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เช† เชฎเซ‹เชกเซเชฏเซเชฒ เชธเชฐเซเช•เชฟเชŸเชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซเช‚ เชธเชฟเชฎเซเชฏเซเชฒเซ‡เชถเชจ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เช•เชฐเชพเชฐเชฎเชพเช‚เชจเซ€ เชชเชฆเซเชงเชคเชฟเช“เชจเซเช‚ เชเช•เชฎ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชšเซ‹เช•เซเช•เชธ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ เช…เชนเซ€เช‚.

เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชกเซ€เชฌเช—เซ€เช‚เช—

เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชกเซ€เชฌเช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ console::debug(msg) เชกเซ€เชฌเช— เชฎเชพเชนเชฟเชคเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. เชจเซ‹เชก เชฒเซ‹เช— เชซเชพเชˆเชฒเชฎเชพเช‚ msg เชฎเชพเชนเชฟเชคเซ€ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชœเซเชฏเชพเชฐเซ‡ เชธเซเชฅเชพเชจเชฟเช• เช“เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชŸเซ‡เชธเซเชŸ เชจเซ‹เชก เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชฒเซ‹เช— เชซเชพเช‡เชฒ เชฒเซ‡เชตเชฒเชจเซ‡ เชกเซ€เชฌเช— เชฎเซ‹เชก เชชเชฐ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชชเซ‚เชฐเซเชตเชถเชฐเชค เช›เซ‡.

runtime::notify(msg) เชฏเซ‹เช—เซเชฏ เชกเซ€เชฌเช— เชฎเชพเชนเชฟเชคเซ€ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชจเซเชŸเซเชฐเชพเช•เซเชŸ เชกเซ€เชฌเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เชชเชฆเซเชงเชคเชฟ เชธเชพเช‚เช•เชณเชฎเชพเช‚ เชฆเชพเช–เชฒ เช•เชฐเซ‡เชฒเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชถเซ‡ เช…เชจเซ‡ getSmartCodeEvent เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเช‚เช•เชณเชฎเชพเช‚เชฅเซ€ เชชเซ‚เช›เชชเชฐเช› เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชฒเซ‡เช–เชจเซ‹ เช…เชจเซเชตเชพเชฆ เชนเชถเชฐเชคเซ‡ เชเชจเซเชก เชถเซ‡เชฐเซเชธเชจเชพ เชธเช‚เชชเชพเชฆเช•เซ‹ เชฆเซเชตเชพเชฐเชพ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เช‘เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€ เชฐเชถเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹. เชฐเชกเชตเซเช‚

เชถเซเช‚ เชคเชฎเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช›เซ‹? เชชเชฐ เช…เชฎเชพเชฐเชพ เชŸเซ‡เช• เชธเชฎเซเชฆเชพเชฏเชฎเชพเช‚ เชœเซ‹เชกเชพเช“ เชตเชฟเชฐเชพเชฎ. เชชเชฃ, เชชเชฐ เชเช• เชจเชœเชฐ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช•เซ‡เชจเซเชฆเซเชฐ เช…เชฎเชพเชฐเซ€ เชตเซ‡เชฌเชธเชพเช‡เชŸ เชชเชฐ, เชœเซเชฏเชพเช‚ เชคเชฎเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชธเชพเชงเชจเซ‹, เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เช…เชจเซ‡ เชตเชงเซ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‘เชจเซเชŸเซ‹เชฒเซ‹เชœเซ€

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹