using AM_PATH_LIBGCRYPT to check for libgcrypt removed AC_MSG_RESULT in configure.ac; added phony "example" target in Makefile.am if libcrypt not found
24 lines
1.1 KiB
Plaintext
24 lines
1.1 KiB
Plaintext
Dependencies:
|
|
Jansson 2.0 with 'long long' support
|
|
|
|
Example dependencies:
|
|
Jansson 2.1 (to read JSON from stdin)
|
|
libgcrypt (for SHA256)
|
|
|
|
For usage, check out example.c. Run "make example" to build it.
|
|
|
|
Note that you must assign blkmk_sha256_impl to a function pointer:
|
|
bool mysha256(void *hash_out, const void *data, size_t datasz)
|
|
hash_out must be able to overlap with data!
|
|
|
|
Also note that you should NOT roll ntime for data retrieved without explicitly
|
|
checking that it falls within the template's limitations (mintime, maxtime,
|
|
mintimeoff, and maxtimeoff); read the BIP 23 specification in detail to
|
|
understand how they work. It is usually best to simply get more data as often
|
|
as it is needed. For blkmk_get_mdata, you may specify that you intend to roll
|
|
the ntime header exactly once per second past usetime - it will then set
|
|
*out_expires such that the expiration occurs before you roll beyond any ntime
|
|
limits. If you are rolling ntime at any rate other than once per second, you
|
|
should NOT specify can_roll_ntime to blkmk_get_mdata, and must check that your
|
|
usage falls within the explicit template limits yourself.
|