Laanwj’s Bitcoin Core repository
- 2016_05_sha256_accel experiment with optimized SHA256 variants.
2016_04_mdb LMDB experiment - change UTXO and block index DB to use LMDB (aka “Symas Lightning Memory-Mapped Database”) instead of LevelDB.
2016_04_dummy_db Dummy database experiment - This replaces the block index and UTXO database with an in-memory data structure which is read from disk at start, and written to disk at shutdown. There are no intermediate flushes.
2016_04_leveldb_sse42_crc32c_test Use SSE4.2 CRC32C instructions in LevelDB. LevelDB uses this cyclic redundancy check for integrity verification. See also crcbench, to see the difference in raw throughput.
Statistics and notifications
zmq mempool notifications: Add notifications when transactions enter or leave the mempool.
bc-monitor: ncurses (console) tool for monitoring a bitcoind instance (see discussion in PR #7753). To be released soon.
This is still very unstable.
Add a streaming API to the HTTP server. This allows streaming data to the client chunk by chunk, which is useful when not the entire data is available at once or it is huge and wouldn’t fit (efficiently) in memory.
Allows downloading the entire UTXO set through
/rest/utxoset. This is a raw dump of all outputs, the state normally hashed by
gettxoutsetinfo. The dump is performed in the background by making use of leveldb snapshotting, so without keeping cs_main locked.
- This can be useful for analysis purposes if you don’t want to mess with bitcoin core’s database
- Filename (via content-disposition) is
utxoset-<height>-<bestblockhash>.dat. Also a custom
X-Block-Heightheader is added.
Ready for review
Documents and notes
- Start bitcoind in a screen in a debugger.
- Measure compilation speed as well as other statistics such as maximum memory usage per compilation unit. Original PR #6658.
- git-show-merge: show in which pull request a certain commit was merged into the current branch.
- blockdb-troubleshoot: collected bitcoin block database troubleshooting tools (from Python).
- bitcoin-submittx: stand-alone Bitcoin transaction submission tool (in Python).
- JSON-RPC batching example.