Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update BlockSci master to v0.4 #58

Merged
merged 59 commits into from
Mar 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
8f0edc0
Switch indexes to use rocksdb
hkalodner Feb 16, 2018
f7fcbfc
Remove undefined behavior from slice read
hkalodner Feb 16, 2018
1ba88b5
Fix memory leak and small typos
hkalodner Feb 16, 2018
2325a41
Fix iterator memory leak
hkalodner Feb 16, 2018
db5e856
Fix error in assert statement
hkalodner Feb 16, 2018
7b78aba
Switch to new tx format storing real and base size per tx
hkalodner Feb 16, 2018
76878a6
Add some more data to block header and bump data version
hkalodner Feb 16, 2018
0abd575
Unify parser and analysis lib address index
hkalodner Feb 16, 2018
0123c06
Add multisig to address index
hkalodner Feb 17, 2018
42bd26d
Fix free after free bug
hkalodner Feb 17, 2018
6be3e48
Clean up script processing a bit
hkalodner Feb 18, 2018
3c07053
Fix tx signature hashing to enable multisig spend set detection
hkalodner Feb 19, 2018
5107dd0
Include working (but still disabled) multisig spend set code
hkalodner Feb 19, 2018
8587894
Try out simplification of parser address state
hkalodner Feb 19, 2018
4d8cf00
Switch to having a per address type script object in order to support…
hkalodner Feb 22, 2018
d6891da
Output bech32 format for witness pubkey scripts
hkalodner Feb 22, 2018
90c2d89
Fix gcc bug
hkalodner Feb 22, 2018
92457b0
Fix for gcc crash
hkalodner Feb 22, 2018
4b3b747
Remove old block size API
hkalodner Feb 22, 2018
6934796
Remove debug output
hkalodner Feb 22, 2018
af89900
Fix bug in hash index
hkalodner Feb 23, 2018
2db1916
Add new size functions to python interface
hkalodner Mar 1, 2018
5b8451a
Fixed tx.index
hkalodner Mar 1, 2018
74571f0
Added address index test
hkalodner Mar 5, 2018
8294690
Fix in address index
hkalodner Mar 5, 2018
ef22cce
Add dedup address support
hkalodner Mar 5, 2018
e326c32
Forgot to add dedup singleton
hkalodner Mar 5, 2018
84ded6c
Fix labels in script descriptions
hkalodner Mar 6, 2018
3e9c6b6
Enable negative max-height
hkalodner Mar 6, 2018
18f791c
Add segwit address lookup
hkalodner Mar 6, 2018
5538855
Add hash index method to get real table count
hkalodner Mar 6, 2018
075601f
Fix witness scripthash lookup
hkalodner Mar 6, 2018
51b5191
Fix segwit pubkeyhash addr lookup
hkalodner Mar 6, 2018
d619354
Ignore checkshum in base58 addresses
hkalodner Mar 7, 2018
70f220d
Fix segwit address support on main supported blockchains
hkalodner Mar 7, 2018
86b87d7
Clean up cmake build
hkalodner Mar 7, 2018
41295b6
Update submodules
hkalodner Mar 7, 2018
849daaf
Updated bitcoin-cpp-api to fix bug
hkalodner Mar 7, 2018
d3f706c
Fix bug in segwit address lookup
hkalodner Mar 7, 2018
a2d70a3
Update clusterer for new api
hkalodner Mar 7, 2018
e60958c
Clean up global headers
hkalodner Mar 8, 2018
7725486
Missing break in main parser switch
hkalodner Mar 8, 2018
50e6924
Change ScriptType and ScriptTypeInfo to AddressDedupType and AddressD…
hkalodner Mar 8, 2018
f95c142
Update clusterer to use dedupaddresstype
hkalodner Mar 8, 2018
6367559
Fix naming of change_by_address_type
hkalodner Mar 8, 2018
3fbc51a
Fixed another misnamed heuristic method
hkalodner Mar 8, 2018
4396071
Make p2sh API same as P2PKH
hkalodner Mar 8, 2018
68db1b2
Remove extra inheritance from script data to allow cleaner docs
hkalodner Mar 8, 2018
07e67a4
Fix clustering python interface
hkalodner Mar 8, 2018
00d8313
Updated demo and templateMakefile for new version
hkalodner Mar 8, 2018
e982616
Update documentation for new version
hkalodner Mar 8, 2018
dfe8b85
Update warmup script to properly warmup new index dbs
hkalodner Mar 8, 2018
1b837eb
Update readme to have 0.4 AMI link
hkalodner Mar 8, 2018
00c3e27
Change working in readme version update
hkalodner Mar 8, 2018
f1a16b5
Change dedup to equiv
hkalodner Mar 8, 2018
4831cf8
Update clusterer to use equiv address
hkalodner Mar 8, 2018
93b858d
Update the documentation to reflect the change from dedup address to …
hkalodner Mar 9, 2018
57f124c
Switch ClusterManager constructor to take path instead of string
hkalodner Mar 9, 2018
ed9a2ef
Update readme to have correct v0.4 AMI
hkalodner Mar 9, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
[submodule "libs/range-v3"]
path = libs/range-v3
url = https://github.com/ericniebler/range-v3.git
[submodule "libs/lmdbxx"]
path = libs/lmdbxx
url = https://github.com/bendiken/lmdbxx
[submodule "libs/type_safe"]
path = libs/type_safe
url = https://github.com/foonathan/type_safe
Expand Down
41 changes: 41 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,47 @@
Release notes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Version 0.4
========================

Feature Enhancements
---------------------

- Safe incremental updates

Following an number of enhancements BlockSci is now capable of safely performing incremental updates. The AWS distribution of BlockSci now includes a Bitcoin full node and will automatically update the BlockChain once per hour. For local installations of BlockSci, see the readme for setup instructions.

- Proper handling of segwit tx and block size distinctions. This included updating the parser to store the size of each transaction excluding segwit data and as as supporting the 3 new notions of size that segwit introduced.

- Proper handling of bech32 addresses.

- Address.from_string() now supports lookup of bech32 addresses.

- Script objects (produced from calls to Address.script) now display the correct address depending on the address type.

- Improved initial chain parsing from 24 hours down to 10 hours and reduced in parser data size due to unification of the hash index database and parser address hash index database.


Breaking Changes
---------------------

- Updated to new data version for the parser output requiring a rerun of the blocksci_parser.

- Introduced new distinction between Address.script and Address.equiv. Address.script returns an object specific to that address type the contains specific information about the script used for the address. Address.equiv provides an EquivAddress object which supports queries such as EquivAddress.outs() and EquivAddress.balance() to generate information about usages of the particular pubkey or script. Both of these functionalities were previously included inside Address.script. Explanation and more details regarding EquivAddress can be found in it's page in the documentation.

- Renamed various methods from using Script in their name to Equiv address in order to reflect updated terminology.

- Renamed ScriptType to EquivAddressType to reflect updated naming as well.

Bug Fixes
-------------
- Fixed segwit size handling as stated above. (`Issue #43`_)
- Fixed P2SH API issued. (`Issue #53`_)

.. _Issue #43: https://github.com/citp/BlockSci/issues/43
.. _Issue #53: https://github.com/citp/BlockSci/issues/53


Version 0.3
========================

Expand Down
5 changes: 1 addition & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,10 @@ target_include_directories(Ranges INTERFACE SYSTEM libs/range-v3/include)
add_library(clipp INTERFACE)
target_include_directories(clipp INTERFACE SYSTEM libs/clipp/include)

add_library(lmdbxx INTERFACE)
target_include_directories(lmdbxx INTERFACE SYSTEM libs)
target_link_libraries(lmdbxx INTERFACE lmdb)

link_directories(/usr/local/lib)
include_directories("src")

set(PYBIND11_INSTALL true)
add_subdirectory(libs/pybind11)

add_subdirectory(libs/variant)
Expand Down
Loading