#build #cargo #build-script #near #smart-contracts #docker #abi

cargo-near-build

Library for building Rust smart contracts on NEAR, basis of cargo-near crate/CLI

11 unstable releases (3 breaking)

0.4.4 Feb 13, 2025
0.4.3 Jan 22, 2025
0.4.2 Dec 19, 2024
0.3.2 Nov 19, 2024
0.1.1 Sep 13, 2024

#60 in #near

Download history 561/week @ 2024-11-27 782/week @ 2024-12-04 965/week @ 2024-12-11 1288/week @ 2024-12-18 511/week @ 2024-12-25 715/week @ 2025-01-01 1126/week @ 2025-01-08 1236/week @ 2025-01-15 1136/week @ 2025-01-22 1631/week @ 2025-01-29 1958/week @ 2025-02-05 2481/week @ 2025-02-12 1513/week @ 2025-02-19 1785/week @ 2025-02-26 1812/week @ 2025-03-05 1418/week @ 2025-03-12

6,602 downloads per month
Used in 6 crates (2 directly)

MIT/Apache

145KB
3.5K SLoC

Crate features

  • build_script - Adds [extended] module for use in build scripts
  • abi_build - Additional functionality, needed for build of ABI separately
  • docker - Adds docker module for functionality of building in docker with WASM reproducibility.

Default features

None are enabled by default

Re-exports

  1. [camino] is re-exported, because it is used in [BuildOpts], and [BuildArtifact] as type of some of fields
  2. [near_abi] is re-exported, because details of ABI generated depends on specific version of near-abi dependency
  3. [bon] is re-exported for the convenience of bon::vec helper macro

Sample usage:

Default:

let artifact = cargo_near_build::build(Default::default()).expect("some error during build");

With some options set:

let build_opts = cargo_near_build::BuildOpts::builder().features("some_contract_feature_1").build();
let artifact = cargo_near_build::build(build_opts).expect("some error during build");

Dependencies

~17–30MB
~523K SLoC