MultiversX: utility package for building Rust contracts (reproducible builds).
Project description
mx-sdk-build-contract
Docker image (and wrappers) for reproducible contract builds (Rust). See docs.multiversx.com.
Build the Docker image
docker buildx build --no-cache . -t build-contract-rust:experimental -f ./Dockerfile
Build contract using the wrapper
Without providing cargo-target-dir
:
python3 ./build_with_docker.py --image=build-contract-rust:experimental \
--project=~/contracts/reproducible-contract-build-example \
--output=~/contracts/output-from-docker
With providing cargo-target-dir
:
python3 ./build_with_docker.py --image=build-contract-rust:experimental \
--project=~/contracts/reproducible-contract-build-example \
--output=~/contracts/output-from-docker \
--cargo-target-dir=~/cargo-target-dir-docker
Building from a packaged source code:
python3 ./build_with_docker.py --image=build-contract-rust:experimental \
--packaged-src=~/contracts/example-0.0.0.source.json \
--output=~/contracts/output-from-docker
Build contract using the Docker inner script
This is useful for useful for testing, debugging and reviewing the script.
export PROJECT=${HOME}/contracts/reproducible-contract-build-example
export OUTPUT=${HOME}/contracts/output
export CARGO_TARGET_DIR=${HOME}/cargo-target-dir
export PATH=${HOME}/elrondsdk/vendor-rust/bin:${HOME}/elrondsdk/wabt/latest/bin:${PATH}
export RUSTUP_HOME=${HOME}/elrondsdk/vendor-rust
export CARGO_HOME=${HOME}/elrondsdk/vendor-rust
Build a project:
python3 ./build_within_docker.py --project=${PROJECT} --output=${OUTPUT} \
--cargo-target-dir=${CARGO_TARGET_DIR}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for mx_sdk_build_contract_rs-4.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 652d9fa424c474c4dd7480d390105eaa77e62d9104f181404dd3f382ed5fe1ff |
|
MD5 | ba2c2877a5dd85819818bbd11c80c47a |
|
BLAKE2b-256 | 928b1fb081e7215088cb960ec2aaa89823bba8bd9bee109cd927d0f82780f349 |
Close
Hashes for mx_sdk_build_contract_rs-4.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 914f62e9a2182a635bcb2c3d07e7b1d1f7d20b57fbed5bb77b42f609be5699b7 |
|
MD5 | 5b993cdca164ecfaea33632afd5f0114 |
|
BLAKE2b-256 | 3d60095d99840fa3155f26012a16cb4bbbefbac95a9d9a3bc5ffad9c8873f7c3 |