Replace openssl/sha2 with a sha256 implementation #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is to remove openssl as a dependency, making this tool entirely free standing
the sha256 implementation is from libsecp256k1(https://github.com/bitcoin-core/secp256k1/blob/master/src/hash_impl.h) but I've adjusted it to the code style here.
There are no tests here, but I manually sampled a few transactions and blocks and verified that their hash matches what's in blockstream.info
There doesn't seem to be any performance difference as most of the work is in I/O:
Before:
After:
This should resolve #16 and resolve #11