Build the Rust Docker image
docker build -t rust -f rust.Dockerfile .
docker run --rm -ti -v $(pwd):/usr/src/vnd-boilerplate -w /usr/src/vnd-boilerplate rust:latest
cargo build --release
cargo build --release --target aarch64-unknown-linux-gnu
cargo build --release --target x86_64-unknown-linux-gnu
Tests are ran on native thanks to libspeculos.so
.
--test-threads=1
is required because libspeculos.so
isn't thread safe.
docker run --rm -ti -v $(pwd):/usr/src/vanadium -w /usr/src/vanadium rust:latest
cd app/rust
cargo test --target aarch64-unknown-linux-gnu -- --test-threads=1
docker run --rm -ti -v $(pwd):/usr/src/vanadium -w /usr/src/vanadium rust:latest
cd app/rust
cargo test --target x86_64-unknown-linux-gnu -- --test-threads=1
- Find which functions take the most of space with
cargo install bloat && cargo bloat --release -n 10