ืึธื ืืึธืืึธืื ืืืึทืกื ืืขืื ืึธืืึธืืืข ืจืึทืืืกืึทื ืื ืงืึธืก ืคืื ืืจืึทื ืกืคืขืจืื ื ืืึทืคึผืคึผ ืกืืึทืจื ืงืึทื ืืจืึทืงืฅ ืืื ืงืึธืืคึผืืขืงืก ืืขืฉืขืคื ืืึธืืืง ืฆื ืื ืืืึทืงืืืืืืึทื, ืืื ืืขืจืืื ืืืืืืืืง ืขื ืจืืืฉืื ื ืื ืืึทืคึผืคึผ ืืงืึธืืกืืกืืึทื.
ืืืฆื
ืืขืืืขืืึธืคึผืื ื ืึท ืืืึทืกื ืงืึธื ืืจืึทืงื ื ืืฆื ืจืืกื
ืฉืืคื ืึท ืงืึธื ืืจืึทืงื
ืื ืคึผืจืืืขืงื ืกืืจืืงืืืจ ืขืก ืืืฉืขื ืขืจืืืฅ:
ืื Cargo.toml ืืขืงืข ืืื ืืขื ืืฆื ืฆื ืงืึทื ืคืืืืขืจ ืืงืขืจืืืง ืคึผืจืืืขืงื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืึธืคืขื ืืืง ืืืืืืึธืืขืง ืืื ืคึฟืึธืจืืึทืฆืืข. ืื [lib] ืึธืคึผืืืืืื ื ืืื ืืขืจ ืืขืงืข ืืืื ืืืื ืืึทืฉืืืื ืฆื ืงืจืืื-ืืืคึผ = ["cdylib"]. ืื lib.rs ืืขืงืข ืืื ืืขื ืืฆื ืฆื ืงืึธื ืื ืงืึธื ืืจืึทืงื ืืึธืืืง. ืืื ืึทืืืฉืึทื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืื ืืขืคึผืขื ืืขื ืกื ืคึผืึทืจืึทืืขืืขืจืก ืฆื ืื [ืืขืคึผืขื ืืขื ืกืืขืก] ืึธืคึผืืืืืื ื ืคืื ืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข Cargo.toml:
ื ืืฆื ืืขื ืืขืคึผืขื ืืขื ืกื, ืืขืืืขืืึธืคึผืขืจืก ืงืขื ืขื ืจืืคื ืื ืืขืจืคืืืกืื ืืืึธืก ืื ืืขืจืึทืงื ืืื ืื ืึธื ืืึธืืึธืื ืืืึธืงืืฉืืื ืืื ืืืฉืืจืื ืึทืืึท ืืื ืื ืกืืจืืึทืืืืึทืืืึธื ืคึผืึทืจืึทืืขืืขืจ.
ืงืึธื ืืจืึทืงื ืคึผืึธืืืฆืืข ืคึฟืื ืงืฆืืข
ืืขืืขืจ ืคึผืจืึธืืจืึทื ืืื ืึทื ืึทืจืืึทื ืฉืจืืึทื ืคึฟืื ืงืฆืืข, ืืื ืื ืืืืคึผื ืคึฟืื ืงืฆืืข ืืืจ ืืืืฉืึทืืืึทืื ืืขื, ืึธืืขืจ ืึท ืงืึธื ืืจืึทืงื ืืื ื ืืฉื ืืึธืื ืึท ืืืืคึผื ืคึฟืื ืงืฆืืข. ืืืขื ืืขืืืขืืึธืคึผืื ื ืึท ืืืึทืกื ืงืึธื ืืจืึทืงื ื ืืฆื ืจืืกื, ืื ืื ืืืึธืืง ืคืื ืงืฆืืข ืืื ืืขื ืืฆื ืืืจื ืคืขืืืงืืึทื ืืื ืื ืึทืจืืึทื ืฉืจืืึทื ืคึฟืื ืงืฆืืข ืคึฟืึทืจ ื ืืฆื ืืขื ืงืึธื ืืจืึทืงื. ืืขืจ ื ืึธืืขื ืคืื ืึท ืคืื ืงืฆืืข ืืื Rust ืืืขื ืืืื ืืืงืืึธืจ ืืืขื ืงืึทืืคึผืืืืื ื ืื Rust ืืงืืจ ืงืึธื ืืื ืืืืขืงืึธืืข ืืืึธืก ืงืขื ืขื ืืืื ืขืงืกืึทืงืืืืึทื ืืืจื ืึท ืืืืจืืืึทื ืืึทืฉืื. ืฆื ืคืึทืจืืืึทืื ืื ืงืึทืืคึผืืืืขืจ ืคืื ืืืฉืขื ืขืจืืืืื ื ืืืขืจืืง ืงืึธื ืืื ืฆื ืจืขืืืฆืืจื ืื ืืจืืืก ืคืื ืืขื ืึธืคึผืืึทื, ืื ืื ืืืึธืืง ืคืื ืงืฆืืข ืืืกืืฃ ืื #[ื ืึธ_ืืึทื ืืืข] ืึทื ืึธืืึทืฆืืข.
ืืื ืงืขื ืื ืื ืืืึธืืง ืคืื ืงืฆืืข ืืึทืงืืืขื ืคึผืึทืจืึทืืขืืขืจืก ืฆื ืืืจืืคืืจื ืึท ืืจืึทื ืกืึทืงืืืึธื?
ืื ontio_std ืืืืืืึธืืขืง ืืื ืื ืจืื ืืืืข:: input () ืคึฟืื ืงืฆืืข ืฆื ืืึทืงืืืขื ืื ืคึผืึทืจืึทืืขืืขืจืก ืฆื ืืืจืืคืืจื ืึท ืืจืึทื ืกืึทืงืืืึธื. ืืขืืืขืืึธืคึผืขืจืก ืงืขื ืขื ื ืืฆื ZeroCopySource ืฆื ืืืกืขืจืืึทืืืื ืื ืจืืืึทืืืื ื ืืืื ืืขื ืืข. ืืื ืืืึธืก ืืขืจ ืขืจืฉืืขืจ ืืืืข ืืขื ืืข ืืืืขื ืขื ืืื ืื ื ืึธืืขื ืคืื ืื ืื ืืืึธืืง ืืืคึฟื, ื ืืืืขืืื ืืขื ืืืจื ืื ืืืคึฟื ืคึผืึทืจืึทืืขืืขืจืก.
ืืื ืืื ืืขืจ ืจืขืืืืืึทื ืคืื ืงืึธื ืืจืึทืงื ืืืจืืคืืจืื ื ืืืืืขืงืขืจื?
ืื ืจืื ืืืืข::ret ืคึฟืื ืงืฆืืข, ืืืึธืก ืืื ืฆืืืขืฉืืขืื ืืืจื ืื ontio_std ืืืืืืึธืืขืง, ืงืขืจื ืื ืจืขืืืืืึทื ืคืื ืื ืืืจืืคืืจืื ื ืคืื ืื ืืืคึฟื.
ืื ืืขืขื ืืืงื ืื ืืืึธืืง ืคึฟืื ืงืฆืืข ืงืืงื ืืื ืืึธืก:
ืกืืจืืึทืืืืึทืืืึธื ืืื ืืขืกืืจืืึทืืืืืืฉืึทื ืคืื ืงืึธื ืืจืึทืงื ืืึทืื
ืืื ืืขื ืคึผืจืึธืฆืขืก ืคืื ืืขืืืขืืึธืคึผืื ื ืงืึทื ืืจืึทืงืฅ, ืืขืืืขืืึธืคึผืขืจืก ืืขื ืขื ืฉืืขื ืืืง ืคืืืกื ืืื ืกืืจืืึทืืืืึทืืืึธื ืืื ืืขืกืืจืืึทืืืืืืฉืึทื ืคึผืจืึธืืืขืืก, ืกืคึผืึทืกืืคืืงืื ืืื ืฆื ืงืจืึธื ืึท ืกืืจืืงืืืจ ืืึทืื ืืืคึผ ืืื ืื ืืึทืืึทืืืืก ืืื ืืื ืฆื ืืืกืขืจืืึทืืืื ืึท ืืืื ืืขื ืืข ืืืืขื ืขื ืคึฟืื ืื ืืึทืืึทืืืืก ืฆื ืืึทืงืืืขื ืึท ืกืืจืืงืืืจ ืืึทืื ืืืคึผ.
ืื ontio_std ืืืืืืึธืืขืง ืืื ืืืงืึธืืืขืจ ืืื ืขื ืงืึธืืขืจ ืื ืืขืจืคืืืกืื ืคึฟืึทืจ ืกืืจืืึทืืืืื ื ืืื ืืขืกืขืจืืึทืืืืืื ื ืืึทืื. ืื ืคืขืืืขืจ ืคืื ืึท ืกืืจืืงืืืจ ืืืื ืื ืกืืจืืืขื ื ืืขืงืึธืืขืจ ืืื ืขื ืงืึธืืขืจ ืื ืืขืจืคืืืกืื ืึทืืื ืึทื ืื ืกืืจืืงืืืจ ืงืขื ืขื ืืืื ืกืืจืืึทืืืืื ืืื ืืขืกืขืจืืึทืืืืื. ืื ืกืืึทื ืกืื ืคืื ืื ืกืื ืง ืงืืึทืก ืืขื ืขื ืืืจืฃ ืืืขื ืคืึทืจืฉืืืขื ืข ืืืืคึผืก ืคืื ืืึทืื ืืขื ืขื ืกืืจืืึทืืืืื. ืึท ืืืึทืฉืคึผืื ืคืื ืื ืกืื ืง ืงืืึทืก ืืื ืึท ืกืขื-ืืืคึผ ืคืขืื ืืืฃ ืืืึธืก ืกืืึธืจื ืืืื ืืืคึผ ืืึทืื, ืืื ืึทืืข ืกืืจืืึทืืืืขื ืืึทืื ืืขื ืขื ืกืืึธืจื ืืื BUF.
ืคึฟืึทืจ ืคืึทืจืคืขืกืืืงื-ืืขื ื ืืึทืื (ืืืฉื: byte, u16, u32, u64, ืืื"ื ื), ืื ืืึทืื ืืขื ืขื ืืืืึทื ืงืึธื ืืืขืจืืขื ืฆื ืึท ืืืื ืืขื ืืข ืืื ืืขืืึธืื ืกืืึธืจื ืืื BUF; ืคึฟืึทืจ ื ืื-ืคืึทืจืคืขืกืืืงื ืืขื ื ืืึทืื, ืืืจ ืืืื ืขืจืฉืืขืจ ืกืืจืืึทืืื ืื ืืขื ื ืืื ืืขืจื ืึธื ืื Ddata (ืึทืืึท ืืื ืึทื ืกืืื ื ืื ืืึทืืืฉืขืจื ืคืื ืืืืืึทืงืึทื ื ืืจืืืก, ืึทืจืืึทื ืืขืจืขืื ื u16, u32 ืึธืืขืจ u64, ืขืืง.).
ืืขืกืขืจืืึทืืืืึทืืืึธื ืืื ืคึผืื ืงื ืคืึทืจืงืขืจื. ืคึฟืึทืจ ืืขืืขืจ ืกืืจืืึทืืืืึทืืืึธื ืืืคึฟื ืขืก ืืื ืึท ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืกืขืจืืึทืืืืึทืืืึธื ืืืคึฟื. ืืขืกืขืจืืึทืืืืึทืืืึธื ืจืืงืืืืืขืจื ืื ื ืืฆื ืคืื ืื ืกืืึทื ืกืื ืคืื ืื ืืงืืจ ืงืืึทืก. ืืขื ืงืืึทืก ืืืึทืฉืคึผืื ืืื ืฆืืืื ืคืขืืืขืจ buf ืืื pos. Buf ืืื ืืขื ืืฆื ืฆื ืงืจืึธื ืื ืืึทืื ืืืึธืก ืืืขื ืืืื ืืขืกืขืจืืึทืืืืขื ืืื ืคึผืึธืก ืืื ืืขื ืืฆื ืฆื ืงืจืึธื ืื ืงืจืึทื ื ืืืืขื ืขื ืฉืืขืืข. ืืืขื ืึท ืกืคึผืขืฆืืคืืฉ ืืืคึผ ืคืื ืืึทืื ืืื ืืืืขื ืขื, ืืืื ืืืจ ืืืืกื ืืืึทื ืืขื ื, ืืืจ ืงืขื ืขื ืืืืขื ืขื ืขืก ืืืืึทื, ืคึฟืึทืจ ืืึทืื ืคืื ืืืืืึทืงืึทื ื ืืขื ื, ืืืืขื ืขื ืื ืืขื ื ืขืจืฉืืขืจ ืืื ืืขืืึธืื ืืืืขื ืขื ืื ืืื ืืึทืื.
ืึทืงืกืขืก ืืื ืืขืจืืืึทื ืืืงื ืืึทืื ืืื ืื ืงืืื
ืึธื ืืึธืืึธืื-ืืืึทืกื-ืงืื-ืืฉืึทืืืขืจ - ืขื ืงืึทืคึผืกืืืึทืืขืก ืึท ืึทืคึผืขืจืืืฉืึทื ืึทื ืืืคึฟื ืคึฟืึทืจ ืืจืืขืื ืืื ืืึทืื ืืืืฃ ืึท ืงืืื, ืืืึธืก ืืื ืืึทืงืืืขื ืคึฟืึทืจ ืืขืืืขืืึธืคึผืขืจืก ืฆื ืื ืกืืจืืืขื ื ืึทืคึผืขืจืืืฉืึทื ื ืึทืืึท ืืื ืึทืืื ื, ืืืืืืื ื, ืืฉืึทื ืืื ื ืืื ืึธื ืคืจืขื ืืึทืื ืืืืฃ ืึท ืงืืื ืืื ืืืื:
- ืืึทืืึทืืืืก :: ืืึทืงืืืขื (ืฉืืืกื) - ืืขื ืืฆื ืฆื ืืขืื ืืึทืื ืคืื ืื ืงืืื, ืืื ืฉืืืกื ืจืืงืืืขืก ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื AsRef ืฆืืืื ื;
- ืืึทืืึทืืืืก :: ืฉืืขืื (ืฉืืืกื, ืืืขืจื) - ืืขื ืืฆื ืฆื ืงืจืึธื ืืึทืื ืืืืฃ ืื ื ืขืฅ. ืฉืืืกื ืจืืงืืืขืก ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื AsRef ืฆืืืื ื, ืืื ืืืขืจื ืจืืงืืืขืก ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื ืขื ืงืึธืืขืจ ืฆืืืื ื;
- ืืึทืืึทืืืืก :: ืืืกืืขืงื (ืฉืืืกื) - ืืื ืืขื ืืฆื ืฆื ืืึทืืืึทืืืงื ืืึทืื ืคืื ืื ืงืืื, ืืื ืฉืืืกื ืจืืงืืืขืก ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื ืื AsRef ืฆืืืื ื.
ืงืึธื ืืจืึทืงื ืืขืกืืื ื
ืืืขื ืืืคึผืืึทืืขื ืื ื ืึธืคึผืืึทื ืืขืืืึธืืก, ืืืจ ืืึทืจืคึฟื ืึทืงืกืขืก ืฆื ืืึทืื ืืืืฃ ืื ืงืืื ืืื ืืืจ ืืึทืจืคึฟื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืืืจืืืึทื ืืึทืฉืื ืฆื ืืืกืคืืจื ืืขื ืงืึธื ืืจืึทืงื ืืืืขืงืึธืืข, ืึทืืื ืขืก ืืื ืืืคึผืืงืื ื ืืืืืง ืฆื ืฆืขืืืืงืืขื ืืขื ืงืึธื ืืจืึทืงื ืฆื ืื ืงืืื ืคึฟืึทืจ ืืขืกืืื ื. ืืืขืจ ืืขื ืืขืกืืื ื ืืืคึฟื ืืื ืคึผืจืึธืืืขืืึทืืืง. ืฆื ืืึทืื ืงืึธื ืืจืึทืงื ืืขืกืืื ื ืืจืื ืืขืจ ืคึฟืึทืจ ืืขืืืขืืึธืคึผืขืจืก, ืื ontio_std ืืืืืืึธืืขืง ืคึผืจืึธืืืืืขืก ืึท ืืึธืืืืข ืืขืกืืื ื ืืึธืืืืข. ืืขืจ ืืึธืืืืข ืืื ืกืืืืึทืืืืฉืึทื ืคืื ืืึทืื ืืื ืึท ืงืืื, ืืืื ืขืก ืืจืื ืืขืจ ืคึฟืึทืจ ืืขืืืขืืึธืคึผืขืจืก ืฆื ืึทืคึผืึทืจืึทื ืคึผืจืืืืจื ืืขืืืึธืืก ืืื ืึท ืงืึธื ืืจืึทืงื. ืกืคึผืขืฆืืขืืข ืืืืฉืคืืื ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื
ืืืืึทืืื ื ืื ืงืึธื ืืจืึทืงื
console::debug(msg) ืคึผืจืื ืฅ ืืืืึทื ืืื ืคึฟืึธืจืืึทืฆืืข ืืฉืขืช ืืืืึทืืื ื ืึท ืงืึธื ืืจืึทืงื. ืื ืืกื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขื ืืืื ืืจืืื ืืื ืื ื ืึธืืข ืก ืงืืึธืฅ ืืขืงืข. ื ืคึผืจืืจืขืงืืืึทืืึทื ืืื ืฆื ืฉืืขืื ืื ืงืืึธืฅ ืืขืงืข ืืืจืื ืฆื ืืืืึทื ืืึธืืข ืืืขื ืืืจ ืืืืคื ืื ืืืืข ืึธื ืืึธืืึธืื ืคึผืจืืืืจื ื ืึธืืข.
ืจืื ืืืืข :: ืึธื ืืึธืื (ืืกื) ืคึผืจืื ืฅ ืฆืื ืขืืขื ืืืืึทืืื ื ืืื ืคึฟืึธืจืืึทืฆืืข ืืฉืขืช ืื ืึธืคึผืืึทื ืืื ืืืืึทืื. ืืขืจ ืืืคึฟื ืืืขื ืจืึทืืขืืืขื ืื ืืจืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืฆื ืื ืงืืื ืืื ืงืขื ืขื ืืืื ืงืืืขืจืื ืคืื ืื ืงืืื ืืื ืื getSmartCodeEvent ืืืคึฟื.
ืืขืจ ืึทืจืืืงื ืืื ืืืืขืจืืขืืขืฆื ืืืจื ืื ืจืขืืืงืฆืืข ืคืื โโHashrate&Shares ืกืคึผืึทืกืืคืืงืื ืคึฟืึทืจ ืึธื ืืึธืืึธืื ืจืืกืืึทื ื.
ืืืืื ืขื
ืืขื ื ืืืจ ืึท ืืขืืืขืืึธืคึผืขืจ? ืคืึทืจืืื ืื ืืื ืืืขืจ ืืขืง ืงืื ืืื
ืึธื ืืึธืืึธืืึธืื
ืึธื ืืึธืืึธืื ืืืขืืืืึทืื ืืืืืื /ืืืกืงืึธืจื - ืืขืืขืืจืึทื
ืขื ืืืืฉ /ืจืืกืืฉ ืืืืืืืขืจ /ืจืขืืืื
ืืงืืจ: www.habr.com