Closed HashEngineering closed 7 months ago
Thanks. Why don’t you publish this as a separate package depending on noble-hashes?
We didn't consider the option of a separate package. Our thinking was centered around these ideas:
Some of these ideas would have been satisfied by a separate package, except for having a single package that contains everything.
You have done great work on this project and we appreciate your time in considering this addition.
Thank you for your time and we understand your point of view. We will consider the path of a separate package that depends on noble-hashes or forking noble-hashes depending on our requirements.
If there are any vars or classes that are not exported externally, which prevents you from using noble as dependency, let me know. It’s better for discoverability and community building to have dependents rather than 10 forks.
The Groestl hash function is used by some crypto-curriencies as part of their proof of work algorithm. Examples include Groestlcoin. Others use Groestl along with about 10 or more others that are chained together.
Groestl was one of the SHA-3 candidates. While the Groestl hash function can support many output widths, this PR proposed the addition of two variants of the Groestl that returns 512 bits.
groestl512
- returns the full 512 bit (64 byte) hash value generated by Groestl512 hash function.groestl256
- returns the first 256 bits (32 bytes) of the Groestl512 hash functionThis PR was inspired primarily by https://github.com/Groestlcoin/groestl-hash-js, the code of which was heavily refactored to follow the scheme of noble-hashes.