【发布时间】:2021-01-20 05:22:29
【问题描述】:
我正在使用两个不同的命令行构建相同的 Cargo.toml。这是用于构建 NEAR 协议的智能合约。
首先使用--manifest-path
cargo build --manifest-path contract/Cargo.toml --release --target wasm32-unknown-unknown
...
Finished release [optimized] target(s) in 23.25s
ls -lha contract/target/wasm32-unknown-unknown/release
...
-rwxr-xr-x 2 moo staff 1.7M Oct 5 12:32 nep9000_pool.wasm*
-rwxr-xr-x 2 moo staff 1.8M Oct 5 12:32 nep9000_token.wasm*
二进制文件的大小为 1.8 兆字节。
然后我从 Cargo.toml 所在的文件夹中执行货物构建。
cd contract
cargo build --release --target wasm32-unknown-unknown
Finished release [optimized] target(s) in 22.85s
ls -lha target/wasm32-unknown-unknown/release
-rwxr-xr-x 2 moo staff 127K Oct 5 12:35 nep9000_pool.wasm*
-rw-r--r-- 1 moo staff 305 Sep 30 21:09 nep9000_token.d
-rwxr-xr-x 2 moo staff 189K Oct 5 12:35 nep9000_token.wasm*
后一种方法的二进制大小要小 10 倍。
这是为什么?上面的cargo 命令有何不同?
【问题讨论】:
标签: webassembly rust-cargo nearprotocol