Cargo Features

[dependencies]
sp1-sdk = { version = "3.4.0", default-features = false, features = ["neon", "native-gnark", "network", "network-v2", "cuda"] }
default = network

The network feature is set by default whenever sp1-sdk is added without default-features = false somewhere in the dependency tree.

neon

Enables neon of sp1-core-machine

native-gnark

Enables native-gnark of sp1-prover

network default

TODO: Once alloy has a 1.* release, we can likely remove this feature flag, as there will be less dependency resolution issues.

Enables alloy-sol-types ^0.7.7, ethers, prost, reqwest, reqwest-middleware ^0.3.2, tokio, and twirp-rs

Affects sp1-sdk::network, artifacts::download_file, install::install_circuit_artifacts, install::download_file, sp1-sdk::block_on

network-v2

Enables alloy-primitives, alloy-signer ^0.3.6, alloy-signer-local ^0.3.6, alloy-sol-types ^0.7.7, aws-config, aws-sdk-s3, ethers, prost, reqwest, reqwest-middleware ^0.3.2, tokio, tonic, and twirp-rs

Affects sp1-sdk::network_v2, artifacts::download_file, install::install_circuit_artifacts, install::download_file, sp1-sdk::block_on

cuda = sp1-cuda

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

sp1-cuda cuda?