sha256 hash of batches of 64B blocks in parallel via pure asm hashtree
Go to file
Charles Blake eabe9edea2
Make testing idea more deployment portable.
2023-05-16 14:51:45 -04:00
install/usr/lib Add module proper & some binary object file dependencies. 2023-05-16 09:34:54 -04:00
tests Make testing idea more deployment portable. 2023-05-16 14:51:45 -04:00
.gitignore Start w/gitignore 2023-05-16 09:33:25 -04:00
README.md Make testing idea more deployment portable. 2023-05-16 14:51:45 -04:00
sha256_64B.nim Oops - fix addr instead of unsafeAddr anachronism. 2023-05-16 14:04:06 -04:00
sha256_64B.nimble Add nimble. 2023-05-16 09:34:12 -04:00

README.md

This is a Nim wrapper for https://github.com/prysmaticlabs/hashtree which is about SHA256 hashing batches of 64B blocks in parallel which can be useful to hash a Merkle Tree.

Building & Testing

It should just work to:

nimble install sha256_64B

You could then do an out-of-tree test by

    cp -pr tests /tmp
    cd /tmp/tests
    nim r --cc:gcc tests/autoselect.nim
dig: [[245, 165, 253, 66, 209, 106, 32, 48, 39, 152, 239, 110, 211, 9, 151, 155, 67, 0, 61, 35, 32, 217, 240, 232, 234, 152, 49, 169, 39, 89, 251, 75]]

(If you have cligen installed then you can also compile tests/bench. On Windows, you may need a large -b= to get a long enough test for meaningful times.)

Supported platforms

The optimization so far is only done on amd64/x86_64 and some ARM. Object files for libhashtree.a are only provided for Linux, Windows, & OSX. (This should be made more specific in a few ways.)

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.