#svm #sha-256 #hash #solana #no-std #u8

solana-nostd-sha256

A more efficient implementation of Sha256 for SVM

4 releases

0.1.3 Sep 12, 2024
0.1.2 Sep 12, 2024
0.1.1 Sep 12, 2024
0.1.0 Sep 12, 2024

#21 in #svm

Download history 12/week @ 2024-09-21 46/week @ 2024-09-28 3/week @ 2024-10-05 7/week @ 2024-10-12 35/week @ 2024-10-19 36/week @ 2024-10-26 34/week @ 2024-11-02 59/week @ 2024-11-09 220/week @ 2024-11-16 231/week @ 2024-11-23 320/week @ 2024-11-30 429/week @ 2024-12-07 299/week @ 2024-12-14 346/week @ 2024-12-21 256/week @ 2024-12-28 308/week @ 2025-01-04

1,238 downloads per month
Used in 5 crates (3 directly)

MIT license

5KB
63 lines

Solana NoStd Sha256

A more efficient implementation of Sha256 for SVM.

Installation

cargo add solana-nostd-sha256

Features

  • Adds hash_ref which takes in any type that implements <AsRef<[u8]>>
  • No Hash struct. Returns [u8;32] directly.
  • Makes use of MaybeUninit to skip zero allocations
  • Adds hash_into to let you hash directly into a mutable buffer.

Performance

library function CU cost
nostd-sha256 hashv(&[b"test"]) 100
nostd-sha256 hash(b"test") 105
nostd-sha256 hash_ref("test") 105
solana-program hashv(&[b"test"]) 120
solana-program hash(b"test") 123

Dependencies

~445KB
~10K SLoC