The NovaCrypto Suite repository is a collection of all the sub projects as git submodules.
For contributors, it’s a handy way to work on the whole suite all at once while keeping the microlibraries separate.
Even though the code is not changing often, common tasks for all the modules at once include updating dependencies.
Getting started
A good place to start is following this tutorial Quick guide to generating addresses with NovaCrypto.
Sub projects
Project | Description | Version | Build | Coverage |
---|---|---|---|---|
BIP39 | Generate mnemonics and Validate/Convert mnemonics to seeds | |||
BIP32 | Derive BIP32 keys from a seed | |||
BIP32Derivation | Derive BIP32 keys without restricting to a particular BIP32 implementation | |||
BIP44 | Derive BIP44 keys without restricting to a particular BIP32 implementation | |||
Base58 | Byte arrays <–> Base58 strings | |||
SHA256 | SHA-256 wrapper | |||
Hash160 | Hash160 wrapper | |||
ToRuntime | Promote checked exceptions to runtime exceptions | |||
SecureString | Protecting strings in JVM memory |
Versioning system
Since October 2018, the versions have been date based so you can easily see the age of a module. year.month.day
With every release all the dependencies are updated to the latest.
This kind of maintenance is intended to give you the least trouble with dependency clashes.
The modules use ben-manes/gradle-versions-plugin as a dependency of their bintray upload task.
This means it is impossible to upload a new version without referencing the very latest versions.