#substrate #polkadot #cryptography #crypto #no-std

no-std substrate-crypto-light

Cryptographic code for Substrate chains in pure rust with better baremetal support

1 unstable release

0.1.0 Nov 21, 2024

#246 in #substrate

Download history 87/week @ 2024-11-15 97/week @ 2024-11-22 60/week @ 2024-11-29 32/week @ 2024-12-06 28/week @ 2024-12-13 3/week @ 2024-12-20 52/week @ 2024-12-27

122 downloads per month
Used in 3 crates

GPL-3.0-or-later

42KB
831 lines

Cryptographic code for Substrate chains in pure rust with better baremetal support.

This is largely based on sp_core crate.

Key differences here:

  • no-std compatible with arm,
  • sr25519 supports external Rng, for usability on baremetal
  • ecdsa support based on pure Rust crate k256, to avoid compiling difficulties (original sp-core has ecdsa from secp256k1 C wrapper crate and it does not compile on certain no-std targets and creates extremely large binary blob on others)

lib.rs:

This is largely based on sp_core crate. Draft.

Key differences here:

  • no-std compatible with arm
  • sr25519 supports external Rng, for usability on baremetal
  • ecdsa support based on pure Rust crate k256, to avoid no-std target compiling difficulties (original sp-core has ecdsa from secp256k1, a C wrapper crate, and as a result ecdsa parts from sp-core do not compile on certain no-std targets and create extremely large binary blob on others)
  • ecdsa pair has zeroize on drop

Dependencies

~5.5–9MB
~169K SLoC