Skip to content

BlockSci v0.5.1

Compare
Choose a tag to compare
@hkalodner hkalodner released this 07 Nov 05:06
· 451 commits to master since this release
53be6cc

Feature Enhancements

  • Expanded iterator and range functionality to return NumPy arrays.

    Many methods and properties of BlockSci objects return range or iterator objects such as blocksci.TxRange. These objects allow vectorized operations over sequences of BlockSci objects. Their API matches up with the API of their member objects, and thus blocksci.TxRange has almost the same set of methods as blocksci.Tx. These methods will efficiently call the given method over all items in the range or iterator. Depending on the return type of the method, the result will either be another range, a NumPy array, or a python list. For further information, look for these classes in the reference.

  • Add custom BlockSci pickler to enable sending and receiving serialized BlockSci objects. This means that returning BlockSci objects from the multiprocessing interface now works correctly.

  • Enhance the change address heuristics interface

    Change address heuristics are now composible in order to form new customized heuristics using the blocksci.heuristics.change.ChangeHeuristic interface. These can be used in combination with the new clustering interface described below.

  • Incorporate clustering module into main BlockSci library

    The formerly external clustering module is now avaiable as blocksci.cluster. Further, it is now possible to generate new clusterings through the python interface using the ~blocksci.cluster.ClusterManager.create_clustering method. Users can select their choice of change address heuristic in order to experiment with different clustering strategies.

  • Simplified build system

    BlockSci's install process no longer requires the compilation of any external dependencies to compile on Ubuntu 16.04. The BlockSci library no longer has any public dependencies so compiling against it will not require linking against anything else.

    The CMake build script has now been updated to install a Config file which allows you to use find_package(blocksci) to import BlockSci's target's into your build script. This makes it much easier to build libraries that use BlockSci as a dependency.

    The BlockSci python module has been moved into a separate module to allow for a simple SetupTools or pip based install process: pip install -e pyblocksci. The main BlockSci library must be installed first for this to work.

    Finally, install instructions for the mac have been added along with Ubuntu 16.06 instructions.

  • Updated mempool recorder and integrated it into BlockSci interface.

    For instructions on running the mempool recorder and using the data it produces, see the setup section.

  • Improve and clean up auto generated API reference.

    All method signatures display correct types and all properties display the type of the returned value. Further, all types link to their definition in the documentation.

Bug Fixes