Skip to content

MIT-licensed C implementation of getblocktemplate

License

NotificationsYou must be signed in to change notification settings

bitcoin/libblkmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

365df02 · Feb 20, 2018
Aug 13, 2016
Dec 2, 2016
Jul 24, 2016
Jan 19, 2014
Dec 2, 2016
Jun 23, 2016
Aug 23, 2014
Aug 30, 2014
Feb 18, 2018
Dec 23, 2017
Feb 18, 2018
May 25, 2016
Aug 12, 2016
Feb 18, 2018
Dec 23, 2017
Aug 13, 2016
Jun 1, 2013
Jan 15, 2018
Jul 26, 2016
Feb 18, 2018
Dec 2, 2016
Jun 1, 2013

Repository files navigation

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.

About

MIT-licensed C implementation of getblocktemplate

Resources

License

Stars

Watchers

Forks

Packages

No packages published