#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

#674 in Magic Beans

Download history 154/week @ 2024-11-21

154 downloads per month
Used in 2 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

~4.5–8MB
~148K SLoC